线性和非线性伽玛色彩空间
RGB 颜色空间的目的是表示在计算机显示器上显示的颜色。目前,sRGB是非线性伽玛色彩空间的标准。之所以需要它,是因为人类对光的感知是非线性的,而且计算机显示器对光强度具有非线性响应。
人眼比浅色更能区分深色。因此,在屏幕上存储和显示图像时,为暗强度保持更高的准确性是有意义的。非线性伽玛色彩空间通过伽玛校正实现了这一点,伽马校正通过幂函数将图像中每个像素的强度
图像通常在存储时应用编码伽玛,屏幕应用解码伽玛。此图显示了 Kanzi 用于在线性和 gamma 颜色空间之间进行转换的伽马传递函数的图形。
使用线性颜色工作流程
默认情况下,Kanzi 使用线性颜色工作流程。这样可以进行逼真的照明计算和正确的颜色混合。为了实现颜色和光线的精确渲染,Kanzi 在对它们执行操作之前将所有颜色值转换为线性颜色空间。然后,Kanzi 将颜色值转换回 gamma 颜色空间以进行存储或显示。
图像
要为 Kanzi Studio 项目中的图像配置线性颜色工作流程,请执行以下操作:
在使用 ASTC、ETC2、JPEG、PNG 或 PVRTC 格式的每个图像资源的“资源库>资源文件”>“图像”中,设置 sRGB Content 属性的值:
如果图像包含 sRGB 颜色信息,请将 sRGB Content 属性设置为 enabled。这是默认设置。
-
如果禁用包含 sRGB 颜色信息的图像的 sRGB Content 属性,Kanzi 可以呈现使用图像的纹理,使其比预期的亮度更高。(因为没有解码)
-
如果图像包含非颜色信息(如法线、粗糙度或遮挡贴图),请将 sRGB 内容属性设置为禁用。包含非颜色信息的纹理以线性格式存储。通过禁用 sRGB Content 属性,可以将 Kanzi 设置为将图像数据直接传递到着色器,而无需执行颜色空间转换。