Кратко:
Могу ли я определить функцию, которую может использовать каждый шейдер? Или я должен определить это для каждого шейдера?
Вся история:
Я хочу создать множество шейдеров, предназначенных для раскрашивания входных фрагментов с предопределенными градиентными рампами (примерно так-http://www.thinkboxsoftware.com/storage/krakatoa-support-images/krakatoa15_kcm_densitybyage_gradientrampmap.png).
Я хочу определить градиентную рампу константу для каждого шейдера(массив образцов цвета vec4, где альфа-значение содержит положение градиента, см. поз. на картинке выше)
И мне нужно функция , которая может возвращать образец цвета из заданной шкалы градиента для конкретной координатной позиции текстуры.
Таким образом, рампы должны быть определены ОДИН РАЗ для каждого шейдера , а функция должна быть определена сразу , чтобы каждый шейдер мог безопасно использовать ее.
У меня есть алгоритмы, вопрос касается совместного использования функций и определения констант в GLSL.
Возможно ли это? Или мне нужно скопировать функцию в каждый шейдер? Есть ли хотя бы какой-то вариант предварительной компиляции?