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

Упрощение инициализации программы

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

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

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

1.    Добавить новый элемент данных в структуру d3d_init_j?a-rams.

2.    Добавить новый элемент данных в класс d3d_app.

3.    Добавить код для инициализации нового элемента данных в конструктор класса d3d_app.

4.    Добавить в функцию d3d_app: :InitApp() код, копирующий значение элемента данных структуры d3d_init_params в новый элемент данных класса d3d_app.

5.    Добавить в функцию d3d_app: : InitD3D () код, использующий новый элемент данных класса d3d_app.

Этот процесс можно заметно упростить. Сначала перепишем класс d3d_app так, чтобы он не содержал отдельных элементов для каждого параметра инициализации Direct3D и каждого параметра инициализации окна. Новая версия определения класса d3d_app приведена в листинге 14.1.



Новости
Геймеры собирают деньги на помощь русским сиротам
Сервис Humble Store и компания Tripwire Interactive поддержат организацию Change30. Британцы предоставляют помощь русским сиротам.
Слух: На E3 2018 покажут Cyberpunk 2077
Крупное польское видеоигровое издание GRYOnline сообщило о том, что, согласно их собственным источникам в компании, CD Projekt Red готовит к E3 2018 новый трейлер Cyberpunk 2077.