首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持VAOs的Cocoa OpenGLView

支持VAOs的Cocoa OpenGLView
EN

Stack Overflow用户
提问于 2012-07-11 06:10:57
回答 1查看 496关注 0票数 1

我希望在Cocoa上做一个自定义的NSOpenGL视图。然而,我在使用VAOs时遇到了问题。特别是,在运行时,这个虚拟的测试视图:

代码语言:javascript
复制
/// 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

在输出上打印以下内容:

代码语言:javascript
复制
GL_INVALID_OPERATION

苹果对可可的VAOs做了什么特别的事情吗?或者是我遗漏了什么初始化步骤?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-05 00:36:04

问题是我不是在创建OpenGL 3.2上下文(而是在它上面调用3.2函数)。使用设置为NSOpenGLProfileVersion3_2Core的NSOpenGLPFAOpenGLProfile属性创建一个新上下文,然后在具有新上下文的NSOpenGLView上调用- (void)setOpenGLContext:(NSOpenGLContext *)context解决了这个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11422798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档