WGL-选择PixelFormat和sRGB帧缓冲区



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

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

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

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

最新更新