Конгер Д.
Физика для разработчиков компьютерных игр
стр. 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, можно получить, не работая прямо с СОМ.

Новости
«Мясной» экшен Redeemer: Enhanced Edition задержится до осени
Издательство «Бука» и студия Sobaka объявили о том, что кровавый экшен Redeemer: Enhanced Edition, ранее запланированный к выходу в августе, был отложен на осень.
Steam-версия Orwell бесплатна до завтра
Игру можно забрать в течение суток, получив ключ для активации в Steam.