我想用renderdoc调试我的程序。我使用SDL_GL标准函数创建了我的上下文。使用render doc运行应用程序时出现此错误。RenderDOC和SDL2
“通过CreateCont只有OpenGL的3.2+环境不会创建OpenGL上下文都支持”
我加入这个说法我创建了上下文之前:
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
这应该强制核心配置文件,但该错误仍然存在。
我在这里做错了什么?
----- -----编辑
即使强迫版本3.2(需要准确的版本)的东西还是投诉后。
这里是我的窗口类的初始化块:
//System init
if(!SDL_WasInit(SDL_INIT_EVERYTHING))
SDL_Init(SDL_INIT_EVERYTHING);
this->SDL_window = SDL_CreateWindow(title,10,10,w,h,SDL_WINDOW_OPENGL);
if(this->SDL_window!=NULL)
{
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
this->context = SDL_GL_CreateContext(SDL_window);
if(!this->context)
{
SDL_DestroyWindow(SDL_window);
COUT<<"FAILED TO CREATE CONTEXT. PRINTING ERROR AND THROWING EXCEPTION"<<ENDL;
COUT<<SDL_GetError()<<ENDL;
throw "ENGINE::WINDOW::GLCONTEXTERR";
}
glewExperimental = GL_TRUE;
glewInit();
}
else
{
COUT<<"FAILED TO CREATE WINDOW. PRINTING ERROR AND THROWING EXCEPTION"<<ENDL;
COUT<<SDL_GetError()<<ENDL;
throw "ENGINE::WINDOW::SDLWINDOWERR";
}
显示完整的上下文初始化代码。你使用哪个版本? – BDL
@BDL我添加了整个init块和一些额外的信息 – MoustacheSpy
你忘了设置次要版本。最有可能你是一个3.0环境 – BDL