我想知道哪个版本wglCreateContext()会返回给我。它会始终返回可用的更高版本吗?你有一些关于这个的官方文档链接吗?
您需要使用扩展中的
使用扩展中的wglCreatContextAttribsARB (...)
:WGL_ARB_create_context。
大意是:
// Request an OpenGL 3.3 context
const GLuint attribs [] = { WGL_CONTEXT_MAJOR_VERSION_ARB, 3,
WGL_CONTEXT_MINOR_VERSION_ARB, 3,
0 };
HGLRC hRC = wglCreateContextAttribsARB (hDC, 0, attribs);
具有讽刺意味的是,这意味着创建一个 OpenGL 上下文,加载该扩展,销毁原始上下文并通过调用 wglCreateContextAttribsARB (...)
创建一个新上下文。请参阅扩展规范。我列出了更多详细信息。
当支持此扩展时,调用
wglCreateContext (hdc)
相当于调用
wglCreateContextAttribsARB (hdc, 0, NULL)
不,它没有定义。如果您需要任何保证,则需要询问特定版本。
不过,由于需要旧版支持,您通常可以期待兼容性配置文件。