【发布时间】:2015-04-13 11:38:33
【问题描述】:
我正在尝试检查 OpenGL 版本,创建一个假的 OpenGL 上下文,但我总是得到版本 0。我用这段代码创建了一个假的上下文:
PIXELFORMATDESCRIPTOR pfd;
ZeroMemory( &pfd, sizeof( pfd ) );
pfd.nSize = sizeof( pfd );
pfd.nVersion = 1;
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER;
pfd.iPixelType = PFD_TYPE_RGBA;
pfd.cColorBits = 24;
pfd.cDepthBits = 16;
pfd.iLayerType = PFD_MAIN_PLANE;
WINDOWINFO info;
HWND mHWND;
info.cbSize = sizeof(WINDOWINFO);
GetWindowInfo(mHWND,&info);
HDC mDC;
mDC = GetDC(mHWND);
int fmt = ChoosePixelFormat( mDC, &pfd );
SetPixelFormat( mDC, fmt, &pfd );
HGLRC mOGLCtx;
mOGLCtx = wglCreateContext( mDC );
wglMakeCurrent(mDC, mOGLCtx);
并尝试用这个检查版本:
glGetString(GL_VERSION)
【问题讨论】:
-
“我创建了一个假上下文” 创建一个真实的。
-
@LightningRacisinOrbit 有什么区别?我怎么能?
标签: c++ windows opengl opengl-es