如何处理glGenVertexArrays上的GL_INVALID_OPERATION?

时间:2016-04-18 08:28:22

标签: macos cocoa opengl

当尝试在自定义NSOpenGLView中设置OpenGL上下文时,对glGenVertexArrays的任何调用似乎都不会写入输出,而是会引发GL_INVALID_OPERATIONdocs表示glGenVertexArrays只能表示GL_INVALID_VALUE,而不是GL_INVALID_OPERATION,因为情况就是这样。此外,在相同的代码中,glGenBuffers按预期工作。

// within NSOpenGLView.prepareOpenGL:
glGenBuffers(1, &vbo);
// glGetError() == 0

glGenVertexArrays(1, &vao);
// glGetError() == GL_INVALID_OPERATION

那么,如何正确生成顶点阵列?

1 个答案:

答案 0 :(得分:1)

看起来框架认为我想使用旧版个人资料。

解决了我的问题是在视图构造函数中指定像素格式:

rdd.reduce((x, y) => if(x > y) x else y)