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