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

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

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

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

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

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

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



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