Конгер Д.
Физика для разработчиков компьютерных игр
стр. 24

Использование DirectX

Есть три способа, позволяющие запустить DirectX и воспользоваться его функциональностью. Первый - лобовой способ. Нужно создать набор переменных для инициализации и передать информацию из них функциям инициализации. Когда DirectX будет готов к работе, к его функциональности можно обращаться через его API.

Второй способ — позволить Visual Studio сделать часть работы за вас. Когда вы устанавливаете DirectX SDK (Software Development Kit - набор разработки программ), он автоматически добавляет мастер DirectX Арр-Wizard к Visual Studio. AppWizard создает для вас пустые DirectX-прило-жения. Все, что остается сделать вам - добавить в них функциональность игр или графических программ.

Третий способ - самый простой. Позвольте мне сделать за вас часть работы. По разным причинам DirectX AppWizard обладает некоторыми ограничениями. Есть и некоторые недостатки в его использовании. Поэтому я создал оболочку исходного кода, которая запустит и подготовит DirectX к использованию.

Использовать AppWizard и эту оболочку удобно, но есть вещи, которые нельзя сделать с их помощью. Поэтому важно разбираться в API DirectX. И мы кратко рассмотрим инициализацию части DirectX - а точнее, Direct3D - лобовым способом. Это позволит нам узнать, как DirectX работает в действительности. После этого я познакомлю вас с мастером AppWizard и созданной мной средой.

Инициализация DirectX лобовым способом

Компоненты DirectX - это СОМ-объекты. СОМ-объекты реализуются в виде библиотек DLL (Dynamic Link Library - библиотека динамической компоновки). Когда вы играете в игру, использующую DirectX, эти библиотеки загружаются, и игра запрашивает из них нужные ей интерфейсы. Методы из этих интерфейсов и выполняют все операции рисования, работы со звуком и обработки ввода.

Написание собственных COM-объектов возможно и, вероятно, полезно, но большинству программистов, пишущих игры, достаточно уметь использовать эти объекты, связанные с DirectX. На самом деле мы практически не будем иметь дела с COM-объектами DirectX. Microsoft знала, что СОМ-объекты в DirectX должны присутствовать в минимальном количестве, чтобы DirectX получил распространение, и спрятала большую часть взаимодействия с СОМ в пару функций, содержащихся в библиотеках импорта. Это удобно, поскольку всю функциональность, которая вам может понадобиться в DirectX, можно получить, не работая прямо с СОМ.

Новости
Авторы Max Payne раскритиковали крупные игры
Глава по коммуникации студии Remedy Томас Пуха заявил, что в нынешних реалиях игрового рынка его команде пришлось реорганизовать производство.
Ubisoft выпустит эксклюзивную фигурку Father’s Calling
Компания Ubisoft сообщила, что коллекционная фигурка Father’s Calling, представляющая собой лидера организации «Врата Эдема» из Far Cry 5, поступит в продажу 22 марта 2018 года по цене 3999 рублей.