我有一个旧版 OpenGL 应用程序,它设置基于 ChoosePixelFormat
的像素格式,而不是 wglChoosePixelFormatARB
或 wglGetPixelFormatAttribivARB/wglGetPixelFormatAttribfvARB
。 ChoosePixelFormat
不允许使用 WGL_EXT_colorspace
显式设置帧缓冲区颜色空间尽管我注意到调用 glEnable(GL_FRAMEBUFFER_SRB)
提供了颜色空间渲染测试纹理时的转换。它是如何工作的 ? ChoosePixelFormat
默认设置 sRGB 色彩空间吗?
最佳答案
您已经回答了自己的问题:
ChoosePixelFormat
doesn't allow to set a framebuffer color space explicitly.
ChoosePixelFormat
规则中没有任何内容禁止实现返回支持 sRGB 编码的像素格式。但这也不是必需的。这里你不能依赖任何东西。但在使用合成器(“Aero”或微软喜欢的任何名称)的现代 Windows 上,您通常会看到 sRGB 支持,但仍然无法保证。
关于opengl - WGL - 选择像素格式和 sRGB 帧缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71351206/