Как использовать glFogCoordEXT в GLSL

Я использовал glFogCoordEXT, чтобы различать исследуемую и неизведанную местность. Но после того, как я использую шейдер для нормального картирования на местности, он работает нормально, но тумана больше нет.

Может ли кто-нибудь мне помочь, (я не знаю glsl).

1 ответ

Решение

Я думаю, что вы использовали фиксированный-функцию-конвейер раньше? Используя пользовательский пиксельный шейдер, вы "перезаписываете" конвейер с фиксированными функциями. Вы должны вручную добавить туман к своим пикселям внутри шейдера normal mapping-shader, но это трудно без какого-либо знания GLSL. Вы можете попробовать googeling для GLSL fog, для GLSL существует множество функций fogging, которые работают со встроенными переменными (которые редактируются glFogCoord). Затем вы можете попытаться подключить эту функцию к вашему шейдеру-нормальному отображению. Прочитайте учебник о вершинных / пиксельных шейдерах раньше, их не так сложно понять. Шейдеры - это просто математика, сам язык намного проще, чем код C++ реальной программы.

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