Я начинаю с создания opengl 3.2 с sdl:
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
g_ogl = SDL_GL_CreateContext(g_window);
Затем я могу подтвердить правильную инициализацию, вызвав SDL_GL_GetAttribute ().
Glew инициализируется правильно:
glewExperimental = GL_TRUE;
if (glewInit() != GLEW_OK)
{
fprintf(stderr, "Init failed");
return EXIT_FAILURE;
}
Однако происходит следующее:
if (GLEW_VERSION_3_2 != GL_TRUE)
{
fprintf(stderr, "Glew is wrong!");
return EXIT_FAILURE;
}
Следовательно, glCreateShader () вызывает нарушение прав доступа 0x00000000.
У всех в интернете есть такая проблема, когда glewInit () не вызывается или не работает, но это не так. Что происходит?