版本:Unity 6 (6000.0)
语言:英语
线性色彩空间
线性色彩空间中的 Gamma 纹理

Unity 中线性色彩空间简介

在线性色彩空间中工作可以比在 gamma 色彩空间中工作提供更准确的渲染。

如果你的纹理是在线性或 gamma 色彩空间中创建的,那么你可以在线性色彩空间中工作。Gamma 色彩空间纹理输入到线性色彩空间 着色器在 GPU 上运行的程序。 详细信息
参见 术语表
程序将无需对其应用 gamma 校正。

如需了解如何设置项目的色彩空间的信息,请参阅 设置项目的色彩空间

注意:即使你正在线性色彩空间中工作,纹理导入设置 中的纹理预览窗口也会使用 gamma 混合显示纹理。

线性纹理

选择色彩空间:线性会假设你的纹理处于 gamma 色彩空间中。Unity 默认使用 GPU 的 sRGB 采样器从 gamma 到线性色彩空间进行过渡。如果你的纹理是在线性色彩空间中创作的,你需要绕过 sRGB 采样。如需了解更多信息,请参阅 为纹理禁用 sRGB 采样

Gamma 纹理

从 gamma 色彩空间过渡到线性色彩空间需要进行一些调整。如需了解更多信息,请参阅 线性色彩空间中的 Gamma 纹理

Gamma 到线性的转换

对于颜色而言,此转换被隐式应用,因为 Unity 编辑器已经将值转换为浮点,然后再作为常量传递给 GPU。对纹理进行采样时,GPU 会自动移除 gamma 校正,将结果转换为线性空间。

然后将这些输入传递给着色器,照明计算将在线性空间中按正常情况进行。将结果值写入帧缓冲区时,可以立即进行 gamma 校正,也可以在线性空间中保留稍后进行 gamma 校正 - 这取决于当前渲染配置。例如,在高动态范围 (HDR) 中,渲染结果将保留在线性空间中,稍后进行 gamma 校正。

线性色彩空间
线性色彩空间中的 Gamma 纹理