1

我有一个遗留的 OpenGL 应用程序,它设置一个像素格式,ChoosePixelFormat而不是wglChoosePixelFormatARBwglGetPixelFormatAttribivARB/wglGetPixelFormatAttribfvARBChoosePixelFormat不允许使用显式设置帧缓冲区颜色空间WGL_EXT_colorspace尽管我注意到glEnable(GL_FRAMEBUFFER_SRB)在渲染测试纹理时调用提供了颜色空间转换。它是如何工作的 ?默认情况下是否ChoosePixelFormat设置 sRGB 颜色空间?

4

1 回答 1

3

您已经回答了自己的问题:

ChoosePixelFormat不允许显式设置帧缓冲区颜色空间。

规则中没有任何ChoosePixelFormat内容禁止实现返回支持 sRGB 编码的像素格式。但这也不是必需的。你不能依赖这里的任何东西。但是在使用合成器(“Aero”或任何微软喜欢称之为)的现代 Windows 上,您通常会看到 sRGB 支持,但仍然不能保证。

于 2022-03-04T15:50:36.843 回答