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

ИНИЦИАЛИЗАЦИЯ DIRECT3D

Direct3D работает и с 2D-, и с ЗБ-графикой. Это делает Direct3D самым важным для нас компонентом DirectX - обо всем, что происходит в играх, мы узнаем через экран монитора. По мере усложнения физических моделей мы будем все более интенсивно использовать Direct3D. А сейчас мы просто проинициализируем его и настроим экран.

Каждый раз, когда вы создаете проект, использующий DirectX, нужно добавить к нему библиотечные файлы DirectX, которые вам понадобятся. Если вы работаете в Visual Studio 6, откройте меню Project и щелкните в нем на пункте Settings. Откроется диалоговое окно Project Settings. Щелкните на вкладке Link. Найдите текстовое поле Object Library Modules. В этом поле введите имена библиотечных файлов, которые вам понадобятся. Для большинства приложений, использующих Di-rect3D, будет достаточно ввести следующее:

dxguid.lib d3d9.1ib d3dx9.1ib winmm.lib

Замечание

Если вы используете Visual Studio .NET, щелкните правой кнопкой на имени проекта. Из открывшегося контекстного меню выберите пункт Properties.

В появившемся окне щелкните на папке Linker и выберите в этой папке пункт Input. Введите приведенный выше список библиотек в строке Additional Dependencies.

В программу нужно включить заголовочный файл DirectX 9: #include <d3d9.h>    //    DirectX    Version 9

Теперь создадим переменную, в которой будет храниться указатель на интерфейс. Большинство разработчиков игр делают такие переменные глобальными:

LPDIRECT3D9 g_pD3D = NULL;    // Указатель на объект Direct3D

Подсказка

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

Это не значит, что у вас нет выбора и придется использовать глобальные переменные во всех случаях. Будьте осторожны, выбирая, какие переменные сделать глобальными и как к ним обращаться. Глобальные переменные могут стать источником ошибок, которые будет трудно устранить.

Новости
Gamescom 2018 стартует в августе
Крупнейшая ежегодная игровая конференция Gamescom 2018, посвященная компьютерным играм, пройдет с 21 по 25 августа 2018 года.
Spyro Reignited Trilogy будет включать две версии саундтрека трёх игр
В Spyro Reignited Trilogy игроки смогут выбирать саундтрек: оригинальный или современный, записанный специально для сборника.