Directx9 Specular Mapping

Как мне реализовать загрузку текстуры для использования в качестве зеркальной карты для фрагмента геометрии и рендеринг ее в Directx9 с использованием C++?

Есть ли уроки или основные примеры, на которые я могу сослаться?

1 ответ

Решение

Используйте D3DXCreateTextureFromFile для загрузки файла с диска. Затем вам нужно настроить шейдер, который умножает зеркальное значение на значение, сохраненное в текстуре. Это дает вам зеркальный цвет.

Итак, ваш последний пиксель

Final = ambient + (N.L * texture colour) + (N.H * texture specular)

Вы можете сделать это легко в шейдере.

Стоит также отметить, что может быть очень полезно хранить зеркальные данные в альфа-канале текстуры. Таким образом, вам нужна только одна текстура, хотя она нарушает прозрачность на пиксель.

Другие вопросы по тегам