我有一个遗留的OpenGL应用程序,它设置基于ChoosePixelFormat而不是wglChoosePixelFormatARB或wglGetPixelFormatAttribivARB/wglGetPixelFormatAttribfvARB的像素格式。ChoosePixelFormat不允许显式使用WGL_EXT_colorspace设置帧缓冲区颜色空间,尽管我注意到调用glEnable(GL_FRAMEBUFFER_SRB)在呈现测试纹理时提供了颜色空间转换。它是怎么工作的?ChoosePixelFormat默认设置sRGB颜色空间吗?
发布于 2022-03-04 15:50:36
你已经回答了你自己的问题:
ChoosePixelFormat不允许显式设置帧缓冲区颜色空间。
ChoosePixelFormat的规则中没有任何内容禁止实现返回支持sRGB编码的像素格式。但这也不是必需的。你不能在这里依赖任何东西。但是,在使用排序器("Aero“或微软喜欢称之为”Aero“)的现代窗口上,您通常会看到sRGB支持,但仍然无法保证。
https://stackoverflow.com/questions/71351206
复制相似问题