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

Если вы посмотрите на private-раздел определения класса в листинге 14.1, то увидите, что в нем стало меньше элементов данных. Вместо отдельных элементов данных для каждого параметра инициализации окна и Direct3D теперь в классе d3d_app используются элементы-структуры. Эти элементы объявлены в строках 18-19. Одна из структур содержит все параметры инициализации окна, а вторая - все параметры инициализации Direct3D. Эти небольшие изменения избавили нас от огромного объема работы. Теперь мы можем добавлять в платформу параметры инициализации, добавляя их в структуры window_init_params и d3d_init_j?arams. Это автоматически добавит их в класс d3d_app.

Следующий шаг - сделать инициализацию структур window_init_ params и d3d_init_j?arams автоматической. Было бы неплохо, если бы нам не приходилось добавлять новые процедуры инициализации в конструктор класса d3d_app при каждом добавлении новых элементов данных в структуры window_init_params и d3d_init_params. Как сделать инициализацию автоматической, показано в листинге 14.2.

Теперь конструктор класса d3d_app вызывает функцию C++ memset () для инициализации структур window_init_params и d3d_init_j?arams. Эта функция заполняет нулями память, выделенную под структуры, причем размер структур определяется во время выполнения программы. Поэтому неважно, сколько новых элементов данных вы добавите в эти структуры - вызовы в строках 7-8 все равно проинициализируют все элементы структур нулями.

Упростить перенос инициализации в классе d3d_app так же просто. Этим занимается метод InitApp (), код которого приведен в листинге 14.3.

Метод InitApp () из листинга 14.3 копирует значения параметров инициализации в класс d3d_app с помощью простых операторов присваивания. Этот прием избавит вас от необходимости добавлять код в этот метод при добавлении новых элементов в структуры.

Я модифицировал функции InitD3D() и WinMain() в файле PMD3D-Арр. срр, и они используют элементы структур window_init_j?arams и



Новости
В PUBG вышла новая карта «Санок»
Bluehole не один месяц тестировала третью карту для PUBG, и сегодня тропическая миниатюрная карта «Санок» наконец-то вышла на общих серверах.
В Warface добавили режим «Королевская битва 2.0»
В Warface разработчики добавили режим «Королевская битва 2.0». Старая версия доработана, количество игроков увеличено с 16 до 32.