Страницы

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

среда, 25 декабря 2019 г.

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

#opengl #directx #glsl #шейдеры


Например есть 3 шейдера. параллакс, бамп, и солид. В каждом шейдере должны быть общие
вычисления типа вычисления источников света. 

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


Ответы

Ответ 1



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

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

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