glInterleavedArrays()生成GL_INVALID_FRAMEBUFFER_OPERATION

时间:2014-01-21 00:04:29

标签: c++ opengl

当我尝试使用glInterleavedArrays()时,我总是会收到“GL_INVALID_FRAMEBUFFER_OPERATION”错误。

GLuint bufid;
glGenBuffers(1, &bufid);
glBindBuffer(GL_ARRAY_BUFFER, bufid);
glInterleavedArrays(GL_C4F_N3F_V3F, 0, 0);
glBindBuffer(GL_ARRAY_BUFFER, 0);

这段代码出了什么问题?

更新

glCheckFramebufferStatus(GL_DRAW_FRAMEBUFFER)glCheckFramebufferStatus(GL_READ_FRAMEBUFFER )都返回GL_FRAMEBUFFER_COMPLETE

1 个答案:

答案 0 :(得分:1)

你确定这是因为交错阵列吗?无效帧缓冲操作有很多原因。但这似乎是一个不太可能的原因。

即使帧缓冲完成,它仍然可以生成无效操作,例如在没有模板缓冲区的情况下启用模板。

您可以非常轻松地使用常规数组复制交错数组。错误是否仍然存在?