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

Функции из листинга 14.9 используются для задания матриц отображения и проецирования. Они устанавливают в значение true переменные состояния при изменении соответствующих матриц. Это все, что нужно для автоматического обновления матриц отображения и проецирования.

Восстановление потерянных объектов устройств

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

Когда игра теряет объекты устройств, то могут теряться вертексные буферы, текстуры, цепочки обмена, поверхности рендеринга и стенсиль-ные ресурсы. Однако они теряются только в том случае, если располагаются в графической памяти. Все, что размещено в D3DPOOL_MANAGED или D3D_POOL_SYSTEMMEM, находится в безопасности.

Чтобы восстановить управление памятью и воссоздать объекты устройств, игра должна выполнить следующие действия:

1. Освободить всю видеопамять, которую программа выделила в классе памяти D3DPOOL_DEFAULT. Сюда входят цепочки обмена, созданные функцией CreateAdditionalSwapChain(), поверхности рендеринга, созданные функцией CreateRenderTarget (), и стенсильные ресурсы, выделенные функцией CreateDepth-StencilSurface().



Новости
Новый ролик Fallout 76 посвятили совместной работе
Компания Bethesda опубликовала новый ролик Fallout 76, продолжающий серию обучающих видео «Время приключений».
Battle for Azeroth: до 120-го уровня добрались за пять часов
Первый в мире игрок 120-го уровня появился уже через четыре с лишним часа после открытия аддона.