Windows 具有兼容设备上下文的wglCreatePbufferARB

Windows 具有兼容设备上下文的wglCreatePbufferARB,windows,opengl,pixel,gdi,Windows,Opengl,Pixel,Gdi,是否可以使用兼容设备上下文的wglCreatePbufferARB创建pBuffer HDC fHDC = ::GetDC((HWND)_window); HDC _fHDC = ::CreateCompatibleDC(fHDC); HBITMAP memBM = ::CreateCompatibleBitmap ( fHDC, bounds.xMax - bounds.xMin, bounds.yMax - bounds.yMin ); ::SelectObject ( _fHDC, mem

是否可以使用兼容设备上下文的
wglCreatePbufferARB
创建
pBuffer

HDC fHDC = ::GetDC((HWND)_window);
HDC _fHDC = ::CreateCompatibleDC(fHDC);
HBITMAP memBM = ::CreateCompatibleBitmap ( fHDC, bounds.xMax - bounds.xMin, bounds.yMax - bounds.yMin );
::SelectObject ( _fHDC, memBM );

later on, i'm creating pBuffer using calls -    
wglChoosePixelFormatARB(_fHDC, iAttribList, fAttribList, 1,
                                &pixelFormat, &numFormats)

hBuffer=wglCreatePbufferARB(_fHDC, pixelFormat, width, height, flags);

我对wglChoosePixelFormatARB的调用失败

不能使用帧缓冲区对象吗?那样的话,它将与WGL功能无关…@fen:我希望你指的是Pixelbuffer对象?FBO甚至不是缓冲区对象,它们只是管理读取/绘制缓冲区的状态。从逻辑上讲,我认为这没有任何意义。一个兼容的DC是一个与其父级具有相同格式的DC,在像素格式上你真的没有选择。。。然而,根据WGL规范,没有违反任何规定。您是否尝试过将fHDC用作此呼叫的基本DC?在任何情况下,像素缓冲区对象都是真正的选择,它们与窗口系统无关,在所有现代OpenGL实现中都得到广泛支持。