我正在使用 GLFW3 创建上下文,我注意到GLFW_SRGB_CAPABLE
属性好像没有什么影响。无论我将其设置为什么,我总是会在以下情况下获得 sRGB 转换:GL_FRAMEBUFFER_SRGB
已启用。我的理解是,当GL_FRAMEBUFFER_SRGB
启用后,仅当帧缓冲区为 sRGB 格式时,您才能进行 sRGB 转换。为了增加混乱,如果我检查GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
I get GL_LINEAR
不管我设置什么GLFW_SRGB_CAPABLE
到。这似乎不是 GLFW 的问题。我手动创建了一个窗口和上下文,并确定设置GL_FRAMEBUFFER_SRGB_CAPABLE_ARB
为真。
我使用的是带有 340.76 驱动程序的 Nvidia GTX 760。我正在检查这样的格式:
glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_FRONT_LEFT, GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, &enc);
这应该返回GL_SRGB
,不应该吗?如果无论什么情况都应用 sRGB 校正WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB
设置为,那么Nvidia的驱动不是坏了吗?到现在还没人注意到这一点吗?
看来这只是默认帧缓冲区的问题,因此它一定是 Nvidia WGL 实现中的一个错误。我已经向他们指出了这一点,希望能得到解决。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)