【发布时间】:2021-02-05 17:29:19
【问题描述】:
我正在尝试编写一个简单的三角形。但是 glGenVertexArrays(1, &VertexArrayID) 在我运行它时会导致分段错误。
SDL_Init(SDL_INIT_VIDEO);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8);
SDL_Window* window = SDL_CreateWindow("OpenGL", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WINDOW_WIDTH, WINDOW_HEIGHT, SDL_WINDOW_OPENGL);
SDL_GLContext context = SDL_GL_CreateContext(window);
SDL_Event event;
SDL_bool quit = SDL_FALSE;
GLuint VertexArrayID;
glGenVertexArrays(1, &VertexArrayID); // This causes crash
我在这里找到了完全相同的东西 OpenGL Segfaults on glGenVertexArrays 但是
我忘记设置 OpenGL 上下文。现在都修好了。
没有帮助,因为我相信我已经创建了一个 OpenGL 上下文 SDL_GLContext context = SDL_GL_CreateContext(window);。
如何正确设置 OpenGL 上下文?
【问题讨论】: