Страницы

Поиск по вопросам

среда, 20 февраля 2019 г.

GLSL, HLSL Шейдер из нескольких файлов

Например есть 3 шейдера. параллакс, бамп, и солид. В каждом шейдере должны быть общие вычисления типа вычисления источников света.
Реально ли в GLSL и HLSL вынести эти функции в отдельный файл и потом их как бы подключать как .h файл к коду программы? Каковы конструкции, ключевые слова в шейдерных языках и что нужно сделать в коде программы для того чтобы их использовать?


Ответ

Насколько мне видится, самым универсальным решением для HLSL и GLSL может быть написание своего простенького препроцессора, который будет вместо строке #include("bump.glsl") вставлять код этого файла.
Также можно пытаться обойтись дефайнами и таким образом отключать или включать какие-то функции в шейдере.
P.S. В вопросе наверное стоило указать версию GLSL и HLSL, которую вы планируете использовать.

Комментариев нет:

Отправить комментарий