Я пытаюсь выяснить, что-то не так в драйверах моей видеокарты или просто в моем коде. Является ли следующее незаконным?
#version 120
#extension GL_EXT_gpu_shader4 : enable
#extension GL_EXT_geometry_shader4 : enable
varying in vec4 something; // <------- this
void main()
{
for(int i = 0; i < gl_VerticesIn; ++i)
{
gl_Position = gl_PositionIn[i];
EmitVertex();
}
EndPrimitive();
}
Это сбой на моем ноутбуке OSX 10.7 (NVIDIA 9400m / 9600m), и мне любопытно, а) Это действительно незаконно в GLSL 1.2 или это просто моя реализация? Есть ли какой-нибудь флаг, позволяющий передавать vec4 в геометрический шейдер в GLSL 1.2?
для записи: да, я знаю, что это намного проще в 1.3+, но я застрял с 1.2 на данный момент. Спасибо!