Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DirectX.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.15 Mб
Скачать

Использование нескольких шейдеров в приложении

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

// Установка шейдеров

g_pImmediateContext->VSSetShader( g_pVertexShader, NULL, 0 );

g_pImmediateContext->PSSetShader( g_pPixelShader, NULL, 0 );

В нашем примере назначение того или иного шейдера происходит при рендере мешей.

Обзор приложения

Приложение для данного урока и исходные тексты приложения и шейдеров вы можете скачать тут. Как всегда, вы можете найти в папке с исходными кодами и само скомпилированное приложение.

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

Заключение

Вот и подошли к завершению наши уроки по DirectX11. Мы не сомневаемся, что данные уроки были и интересными, и очень полезными в практическом смысле. Также радует тот факт, что цикл уроков завершается на такой блестящей в прямом и переносном смысле ноте. Трехмерная графика может давать хороший результат, при правильном подходе к этому вопросу.

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]