У меня есть следующий шейдер GLSL (загружается в прямой контекст OpenGL 3.3, но я получаю то же поведение в 2.1):
const GLchar* const glsl_vertex_timeseries = {
"#version 330\n"
"#extension GL_EXT_gpu_shader4 : enable\n"
""
"in vec2 in_Y;"
""
"void main()"
"{"
// " int dummy = gl_VertexID;"
" gl_Position = vec4(in_Y, 0.0, 1.0);"
"}"
};
Это очень упрощено, чтобы найти проблему.
Как показано, он компилирует, связывает и отображает мою геометрию.
Если закомментированная строка активирована, она компилируется и связывается без предупреждений, но ничего не отображается (glClear
все еще работает, но не glDrawArrays
).
Что нужно, чтобы gl_VertexID
заработал?
Приложение представляет собой 32-разрядную программу C ++, работающую в 64-разрядной версии Windows 7.
Видеокарта ATI Mobility Radeon 5650, Catalyst 8.812