当我在片段着色器的
如果没有通用答案而取决于某些OpenGL属性:如何设置此属性?
为避免误解:相应的颜色完全是程序生成的,没有任何纹理或类似物(可能需要输入伽马校正)。
main()
函数中通过fragColor
输出颜色时,颜色分量的强度是解释为线性RGB还是sRGB?换句话说,我是否需要在片段着色器中执行伽马校正,或者这已经被处理好了?如果没有通用答案而取决于某些OpenGL属性:如何设置此属性?
为避免误解:相应的颜色完全是程序生成的,没有任何纹理或类似物(可能需要输入伽马校正)。
glutInitDisplayMode
有一个GL_RGBA
选项,但没有关于线性或sRGB的说明。我发现可以使用glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_FRONT_LEFT, GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING)
来读取此属性,并且它返回GL_LINEAR,但似乎没有glSetFramebufferAttachmentParameteriv
。 - A. DondaGLUT_SRGB
,但是在FreeGLUT或原始的GLUT文档中都找不到如何使用它的任何文档。 - A. DondaglutInitDisplayMode
的参数。此外,你需要问自己一个问题:你想继续使用文档非常不完善的工具吗?还是你想转向一些由维护者足够关注以保持文档最新,从而使工具可用的东西? - Nicol BolasglutInitDisplayMode
中同时使用GLUT_SRGB
并在上下文创建后调用glEnable(GL_FRAMEBUFFER_SRGB)
- 是这样吗? - A. Donda