Opengl RenderDOC和SDL2

Opengl RenderDOC和SDL2,opengl,sdl,renderdoc,Opengl,Sdl,Renderdoc,我想用renderdoc调试我的程序。我用SDL_GL标准函数创建了我的上下文。我在使用render doc运行应用程序时遇到此错误 “OpenGL。未通过CreateCont创建的上下文仅支持OpenGL 3.2+上下文” 在创建上下文之前,我添加了此参数: SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); 这将强制核心配置文件,但错误仍然存在 我做错了什么 -----编辑-----

我想用renderdoc调试我的程序。我用SDL_GL标准函数创建了我的上下文。我在使用render doc运行应用程序时遇到此错误

“OpenGL。未通过CreateCont创建的上下文仅支持OpenGL 3.2+上下文”

在创建上下文之前,我添加了此参数:

SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
这将强制核心配置文件,但错误仍然存在

我做错了什么

-----编辑-----

即使在强制执行版本3.2(需要确切的版本)之后,这件事仍然会引起抱怨

下面是我的窗口类的init块:

//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";
}
//系统初始化
如果(!SDL_WasInit(SDL_INIT_EVERYTHING))
SDL_Init(SDL_Init_EVERYTHING);
此->SDL_窗口=SDL_创建窗口(标题,10,10,w,h,SDL_窗口\u OPENGL);
如果(此->SDL_窗口!=NULL)
{
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION,3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK,SDL_GL_CONTEXT_PROFILE_CORE);
此->上下文=SDL\U GL\U CreateContext(SDL\U窗口);
如果(!此->上下文)
{
SDL_窗口(SDL_窗口);

COUT错误信息非常清楚:您的程序没有使用OpenGL 3.2+上下文

由于您只请求特定的主要版本,而不是次要版本,因此您很可能得到一个3.0上下文

SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);

错误信息非常清楚:您的程序没有使用OpenGL 3.2+上下文

由于您只请求特定的主要版本,而不是次要版本,因此您很可能得到一个3.0上下文

SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);

显示完整的上下文初始化代码。您使用的是哪个版本?@BDL我添加了整个init块和一些额外的信息。您忘记设置次要版本。很可能您是requestion a 3.0context@BDL谢谢!这就解决了!请发布真实答案,这样我可以勾选你的答案!显示完整的上下文初始化代码。你喜欢哪个版本使用?@BDL我添加了整个init块和一些额外的信息。您忘记设置次要版本。很可能您是requestion a 3.0context@BDL谢谢!这解决了它!请张贴真实的答案,这样我可以勾选你的答案!