版本: Unity 6 (6000.0)
语言英语
  • C#

GL.sRGBWrite

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每项建议更改,并在必要时进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

public static bool sRGBWrite;

描述

控制渲染时是否执行线性到 sRGB 颜色转换。

此属性仅在使用线性颜色空间渲染时才相关。通常情况下,当使用线性颜色空间时,非 HDR 渲染纹理被视为 sRGB 数据(即“普通颜色”),并且片段着色器输出被视为线性颜色值。因此,默认情况下,片段着色器颜色值将转换为 sRGB。

但是,如果您知道您的片段着色器由于某种原因已经输出 sRGB 颜色值,并且想要暂时关闭线性到 sRGB 的写颜色转换,您可以使用此属性来实现。

请注意,并非所有平台都支持关闭 sRGB 写入功能(通常移动“基于图块”的 GPU 不支持此功能),因此这被认为是“最后的手段”。通常,最好创建具有适当颜色空间标志(线性与 sRGB)的渲染纹理,而不是在渲染到其中时切换转换。

其他资源:线性颜色空间RenderTexture.sRGBRenderTextureReadWritePlayerSettings.colorSpace