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

игра обрабатывает сообщение, то функция HandleMessage () должна возвращать значение TRUE, если нет - FALSE. Если сообщение не обработано, оно будет обрабатываться функцией MsgProc().

Подсказка

За дополнительной информацией обращайтесь к теме «Window Messages» в документации к SDK для платформы Windows.

В данной версии функция MsgProc () обрабатывает только одно сообщение — WM_DESTROY. Если она получает это сообщение, то вызывает функцию GameCleanup () в строке 13. Функцию GameCleanupО тоже должна предоставлять ва^а игра. Затем функция MsgProc () вызывает функцию платформы CleanupD3D (), которая освобождает задействованные ресурсы Direct3D.

Остальные сообщения в строке 20 передаются Windows для обработки.

ОБНОВЛЕНИЕ И ПРОРИСОВКА КАДРОВ

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

Вторая функция, которую должна предоставить ваша игра, - Ren-derFrame(). Эта функция будет непосредственно рисовать кадр.

Замечание

Вашей игре не нужно вызывать функции Direct3D BeginScene () и EndSce-ne (). Платформа сделает это за вас. Все, что нужно сделать вам, - прорисовать нужную вам геометрию. Обычно это значит, что нужно прорисовать содержимое вершинного буфера.

ОЧИСТКА

Как говорилось выше, при получении сообщения WM_DESTROY платформа вызывает функцию GameCleanup (). Эту функцию должна предоставлять ваша игра. После завершения ее выполнения платформа вызовет функцию Cleanup3D (), код которой приведен в листинге 2.6.

Функция Cleanup3D() освобождает объекты DirectX, созданные платформой. Как уже упоминалось выше, эти объекты освобождаются в последовательности, обратной последовательности их создания.



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