Chr*_*s_F 9 opengl nvidia glfw
我正在使用GLFW3创建一个上下文,我注意到该GLFW_SRGB_CAPABLE属性似乎没有效果.无论我将其设置为什么,GL_FRAMEBUFFER_SRGB启用时我都会获得sRGB转换.我的理解是,当GL_FRAMEBUFFER_SRGB启用时,只有当帧缓冲区是sRGB格式时才会获得sRGB转换.为了增加混乱,如果我检查GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING我得到的GL_LINEAR不管我设置的是什么GLFW_SRGB_CAPABLE.这似乎不是GLFW的问题.我手动创建了一个窗口和上下文,并确保设置GL_FRAMEBUFFER_SRGB_CAPABLE_ARB为true.
我正在使用带有340.76驱动程序的Nvidia GTX 760.我正在检查这样的格式:
glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_FRONT_LEFT, GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, &enc);
Run Code Online (Sandbox Code Playgroud)
这应该回来GL_SRGB,如果不是吗?如果它正在应用sRGB校正而不管WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB设置的是什么,那么Nvidia的驱动程序是否没有被破坏?直到现在还没有人注意到这一点?