如何获得WGL创建32位深度的缓冲区?

安德烈亚斯·哈弗堡(Andreas Haferburg)

如果我设置cDepthBits, cStencilBits24, 8正常,32, 0则不能。这是我在做什么:

PIXELFORMATDESCRIPTOR pfd = {0};
pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);
pfd.nVersion = 1;
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
pfd.iPixelType = PFD_TYPE_RGBA;
pfd.cColorBits = 32;
pfd.cDepthBits = 32;
pfd.cStencilBits = 0;
pfd.dwLayerMask = PFD_MAIN_PLANE;

i32 pixelFormatIndex = ChoosePixelFormat(windows.hdc, &pfd);
SetPixelFormat(windows.hdc, pixelFormatIndex, &pfd);
windows.hrc = wglCreateContext(windows.hdc);
wglMakeCurrent(windows.hdc, windows.hrc);

然后我用来查询PFD DescribePixelFormat(windows.hdc, GetPixelFormat(windows.hdc), ..)cDepthBits它只有24。

好吧,目前还不清楚您的实现是否确实为默认帧缓冲区支持32位深度的缓冲区。

但是,使用WGL_ARB_pixel_format扩展可以使您更好地控制像素格式。特别是,wglChoosePixelFormatARB()(或多或少严格地)返回一您查询的属性的像素格式。然后,您可以遍历这些格式,并使用wglGetPixelFormatAttribivARB()/wglGetPixelFormatAttribfvARB()查询返回格式的详细属性,然后选择最喜欢的格式-然后可以检查其中是否包含32位深度格式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将多重采样深度缓冲区解析为深度纹理?

来自分类Dev

C ++中的位缓冲区

来自分类Dev

NodeJS缓冲区从字节读取位

来自分类Dev

如何从char []创建指向缓冲区的指针

来自分类Dev

如何获得3sn的音频缓冲区ios

来自分类Dev

OpenGL:glLoadMatrix和深度缓冲区

来自分类Dev

如何从音频标签创建音频缓冲区?

来自分类Dev

如何创建线程安全缓冲区/ POD?

来自分类Dev

如何使深度缓冲区对JavaFX中的子场景起作用

来自分类Dev

如何创建缓冲区溢出以测试Address Sanitizer?

来自分类Dev

如何创建采样缓冲区(CMSampleBufferRef)的实例?

来自分类Dev

如何在数组缓冲区中存储32位整数?

来自分类Dev

如何获得用户可配置的打印缓冲区?

来自分类Dev

如何从char缓冲区创建long int?

来自分类Dev

OpenGL 16位模板缓冲区?

来自分类Dev

在金属中如何清除深度缓冲区或模板缓冲区?

来自分类Dev

从char缓冲区读取32位变量

来自分类Dev

深度+模板帧缓冲区问题

来自分类Dev

如何获得底层套接字读取缓冲区的大小?

来自分类Dev

在OpenGL中查看深度缓冲区

来自分类Dev

OpenGL,单通道32位纹理或TBO中的灰度/颜色映射图像的32位(int)缓冲区?

来自分类Dev

3位数字的缓冲区

来自分类Dev

如何释放libjpeg创建的缓冲区?

来自分类Dev

如何使深度缓冲区对JavaFX中的子场景起作用

来自分类Dev

如何创建采样缓冲区(CMSampleBufferRef)的实例?

来自分类Dev

FBO深度缓冲区为红色

来自分类Dev

协议缓冲区:如何为枚举创建.proto文件?

来自分类Dev

LibGDX 如何从 FrameBuffer 获取深度缓冲区?

来自分类Dev

如何在 Vulkan 深度缓冲区中存储不受限制的深度范围

Related 相关文章

热门标签

归档