当我在顶点着色器中使用gl_InstanceID变量时,不会渲染任何内容。
这是一个简单的着色器,我写的是为了缩小问题范围:
#version 150
in vec2 vert;
void main(void)
{
gl_Position = vec4(vert + 0.2 * gl_InstanceID, 0.0, 1.0);
}
这是我的渲染循环:
glClearBufferfv(GL_COLOR, 0, color);
glClearBufferfv(GL_DEPTH, 0, &one);
glDrawArraysInstanced(GL_TRIANGLE_STRIP, 0, 4, 3);
如果我将gl_InstanceID更改为常量,一切正常,我会得到一个四边形。
我做错了什么?
更新:好像是驱动程序错误。更新驱动程序后问题消失了。我有AMD Mobility Radeon HD5000系列。