我正在使用wlgGetProcAddress使用创建的上下文来获取函数wglCreateContext.我已经设置了上下文wglMakeCurrent.我得到一个有效的函数指针glGetStringi,但我得到NULL了glGetString.我认为glGetString并且glGetStringi是在相同版本的OpenGL(1.0)中引入的.任何想法为什么我得到这个NULL?
const GLubyte* (*glGetString)(GLenum);
const GLubyte* (*glGetStringi)(GLenum, GLuint);
glGetString = reinterpret_cast<decltype(glGetString)>(wglGetProcAddress("glGetString"));
glGetStringi = reinterpret_cast<decltype(glGetStringi)>(wglGetProcAddress("glGetStringi"));
Run Code Online (Sandbox Code Playgroud)
如果它很重要,我有一个驱动程序版本13.251.0.0的Radeon HD 7950.
glGetStringi推出时间远远超过1.0 - 我相信它是3.3.更糟糕的是,在核心3.3+配置文件中,您无法使用glGetString(GL_EXTENSIONS),但需要使用glGetStringi,这对于较低配置文件版本是不可用的.
MSDN文档说wglGetProcAddress只返回扩展功能的地址.而且,他们所说的"扩展"是GL 1.1中没有的所有内容.
| 归档时间: |
|
| 查看次数: |
1022 次 |
| 最近记录: |