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

Несколько слов о стиле оформления программ

Код в этом разделе оформлен в стиле, используемом Microsoft. В следующем разделе мы будем рассматривать код, сгенерированный мастером AppWi-zard. Этот мастер тоже генерирует код, оформленный в стиле Microsoft. Мой собственный стиль оформления кода довольно сильно отличается от стиля Microsoft. Тому есть свои причины, однако я не собираюсь стоять насмерть, если мой стиль вас не устраивает. В оставшейся части книги я буду использовать стиль Microsoft для кода, выполняющего инициализацию DirectX и завершение его использования. Все остальное будет оформлено в моем стиле. Это поможет вам различать код, важный для приложения, от общего для всех игр кода инициализации и завершения.

Использование COM-объекта DirectX состоит из четырех шагов.

1.    Объявление переменной, в которой будет храниться указатель на интерфейс объекта. Сначала этой переменной присваивается значение NULL:

LPDIRECT3D g_j>D3D = NULL;

2.    Вызов функции создания объекта. Эта функция возвращает указатель на интерфейс объекта, который можно хранить в созданной в шаге 1 переменной. Если функции не удается создать объект, она возвращает значение NULL:

g_j>D3D = Direct3DCreate9( D3D_SDK_VERSION );

3.    Теперь, когда у нас есть указатель на интерфейс, можно использовать его для вызова методов. Например:

g__pD3D-X3etAdapterDisplayMode( D3DADAPTER_DEFAULT, Scurrentdisplay);

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

g_pD3D->Release();

g_pD3D = NULL;

Замечание

Код, показанный выше, используется для инициализации Direct3D. Код для инициализации других компонентов DirectX имеет ту же структуру.

Теперь вы знаете о СОМ достаточно, чтобы инициализировать Di-rect3D. Попробуем это сделать.

Новости
Авторы Max Payne раскритиковали крупные игры
Глава по коммуникации финской компании-разработчика видеоигр Remedy Томас Пуха сообщил, что в современных реалиях игрового рынка его команде понадобилось реорганизовать производство.
По мотивам «Суперсемейки» выйдет игра в стиле LEGO
Боевик получит название LEGO Incredibles 2. Он охватит события первой части мультфильма, который вышел в 2004 году, а также станет связующим звеном с сиквелом.