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

Замечание

Цвет, освещение и материалы - это темы, тесно связанные с текстуриро-ванием. Чтобы игры выглядели профессионально сделанными, разработчики должны разбираться во всех этих темах. Хорошее введение в них -например, книга Mason McCuskey «Special Effects Game Programming with DirectX» (издательство Premier Press).

Для наших целей нам достаточно знать, что DirectX обладает обширными возможностями по работе с освещением в ЗО-сценах. Он поддерживает несколько видов света — как от точечных источников, так и рассеянного. Пока нас интересует только рассеянный свет.

Цвет объекта, который мы видим на экране, когда объект отображается с помощью Direct3D, определяется цветом материала объекта и цветом падающего на объект света. Если на объект нанесена текстура, то оказывает влияние и ее цвет. Но пока не будем пытаться разобраться подробнее.

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

Сначала нужно изменить функцию InitD3D () в файле PMD3DApp. срр, чтобы она задействовала возможности моделирования освещения в Di-rect3D. Посмотрите на исходный код в файле с компакт-диска. Откройте файл PMD3DApp.cpp в папке Source\Chapter07\PointMass и найдите в нем функцию InitD3D (). В конце этой функции есть такая строка:

TheApp.d3dDevice->SetRenderState(D3DRS_LIGHTING, theApp.enableD3DLighting);

В предыдущих главах моделирование освещения отключалось, поэтому эта строка выглядела как

theApp.d3dDevice->SetRenderState(D3DRS_LIGHTING,TRUE);

Теперь нужно передать эту информацию платформе в функции ОпАр-pLoad(). Код этой функции приведен ниже в листинге 7.5.

Новости
Финальный сезон The Walking Dead закончится в декабре
Создатели интерактивной драмы The Walking Dead из Telltale представили расписание выхода всех эпизодов финального сезона проекта.
Пользователи «ВКонтакте» могут официально поддержать Альянс или Орду
С 15 и до 29 августа каждый пользователь социальной сети может официально поддержать одну из двух противоборствующих сторон: Альянс или Орду.