Сейчас я пытаюсь понять, как я использую униформу между шейдерами в старом GLSL. Наклеивание «общего» перед униформой не составляло труда. Изменить: я знаю, что униформа - это одна программа. Примером этого может быть матрица-проекция-модель. Не хотелось бы устанавливать его для каждой программы индивидуально, а только один раз.
Есть способ сделать это?
Это код (вершинного) шейдера:
#version 130
in vec4 position;
in float size;
in vec4 incol;
out vec4 color;
shared uniform ivec4 relWorldOffset;
uniform vec4[14] cubestrip;
uint cubeindex;
void main()
{
gl_Position = gl_ModelViewProjectionMatrix
* (cubestrip[cubeindex] * size
+ relWorldOffset + position);
cubeindex++;
color = incol;
cubeindex %= 14U;
Это ошибка:
0:6(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting $end