【发布时间】:2014-11-08 15:14:44
【问题描述】:
我正在使用 GLFW3 创建上下文,我注意到 GLFW_SRGB_CAPABLE 属性似乎没有任何效果。无论我将其设置为什么,当启用GL_FRAMEBUFFER_SRGB 时,我总是会进行 sRGB 转换。我的理解是,当启用GL_FRAMEBUFFER_SRGB 时,只有当帧缓冲区是 sRGB 格式时,您才能进行 sRGB 转换。更令人困惑的是,如果我检查GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,无论我将GLFW_SRGB_CAPABLE 设置为什么,我都会得到GL_LINEAR。这似乎不是 GLFW 的问题。我手动创建了一个窗口和上下文,并确定将 GL_FRAMEBUFFER_SRGB_CAPABLE_ARB 设置为 true。
我正在使用带有 340.76 驱动程序的 Nvidia GTX 760。我正在检查这样的格式:
glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_FRONT_LEFT, GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, &enc);
这应该返回GL_SRGB,不是吗?如果无论WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 设置为什么,它都在应用sRGB 校正,那么Nvidia 的驱动程序没有损坏吗?直到现在没人注意到这一点?
【问题讨论】: