我想用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