1
我希望可可做一個自定義的NSOpenGL視圖。但是,我無法使用VAO。特別是,在運行時,這種僞測試觀點:可可OpenGLView與VAOs
/// OpenGLTestView.h:
@interface OpenGLTestView : NSOpenGLView
- (void)prepareOpenGL;
@end
/// OpenGLTestView.m:
#import <OpenGL/gl3.h>
@implementation OpenGLTestView
- (void)prepareOpenGL {
GLenum error;
GLuint vertex_array;
glGenVertexArrays(1, &vertex_array);
error = glGetError();
switch (error) {
case GL_NO_ERROR:
printf("GL_NO_ERROR\n");
break;
case GL_INVALID_ENUM:
printf("GL_INVALID_ENUM\n");
break;
case GL_INVALID_VALUE:
printf("GL_INVALID_VALUE\n");
break;
case GL_INVALID_OPERATION:
printf("GL_INVALID_OPERATION\n");
break;
case GL_INVALID_FRAMEBUFFER_OPERATION:
printf("GL_INVALID_FRAMEBUFFER_OPERATION\n");
break;
case GL_OUT_OF_MEMORY:
printf("GL_OUT_OF_MEMORY\n");
break;
default:
printf("Unknown error\n");
break;
}
}
@end
此打印輸出:
GL_INVALID_OPERATION
難道蘋果做VAOs一些特殊的可可?還是有一些我錯過的初始化步驟?
你試過'glGenVertexArraysAPPLE'(和相關的'glBindVertexArraysAPPLE')嗎?否則,如果你安裝了GLEW或其他東西,我只希望它能起作用。 – beaker 2012-07-12 16:02:56
根據http://stackoverflow.com/questions/8302625/segmentation-fault-at-glgenvertexarrays-1-vao我只需要初始化GLEW。我以爲我不需要,因爲glGenVertexArrays是常規OpenGL規範的一部分。我想我會研究GLEW和glGenVertexArrays之間的關係究竟是什麼。如果你將你所說的話作爲答案發布,我會接受這個答案。謝謝。 – Litherum 2012-07-13 18:26:03