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

Новости
Исследование: Треть населения Земли играют в видеоигры
Специалисты компании NewZoo провели исследование и пришли к выводу, что треть населения Земли или 2,3 млрд человек играют в видеоигры.
Антивирусы и облачные сервисы портят сохранения Dark Souls Remastered
Вчера комьюнити-менеджер Bandai Namco под ником Izmar подтвердил проблему в Steam, посоветовав ограничить доступ антивирусов и других программ вроде облачных сервисов Google и Amazon к файлам ремастера Dark Souls.