Новые версии GLSL уменьшают количество стандартных, встроенных атрибутов и униформ, например. gl_Color
и gl_ModelViewMatrix
не входят в состав GLES 2.0.Переопределение атрибутов в GLSL
Можно ли переопределить эти имена и переопределить их в шейдере другого типа переменной? Объявлял бы свою собственную форму gl_ModelViewMatrix
при работе на ранней версии GLSL, если вы сами установили ее?
В начале GLSL gl_Color
может быть за вершиной или для всего вызова, в зависимости от того, если клиент называется glColor()
или glColorPointer()
- вы можете установить атрибут один раз, так оно в действительности становится униформу? Или как справиться с этой двусмысленностью?
(Это все в поисках, чтобы сделать шейдеры, которые работают по целому ряду целей с некоторыми просто находка замены скриптов на время загрузки)
К сожалению, я не могу найти документы, но я» Конечно, это правильно. –
В стандарте OpenGL-3 и GLSL 1.40 четко указано, что пользовательские переменные не должны называться с префиксом «gl_». Однако однажды можно использовать немного препроцессорного обмана, чтобы, по-видимому, «повторно ввести» их. – datenwolf
@ datenwolf Да, это был мой план, хотя я немного застрял в gl_Color – Will