workingToColorSpace
workingToColorSpace
在着色器节点图中,将颜色从渲染器的线性工作色彩空间(通常是 Linear-sRGB)显式地转换到另一个指定的目标色彩空间(如 sRGB)。
核心优势
它将复杂的色彩空间转换数学(如伽马校正、矩阵变换)封装为单个函数,让开发者只需声明转换意图,而无需手动实现和调试底层公式,使节点图更清晰且不易出错。
常见用途
在 sRGB 等感知空间中实现胶片颗粒或颜色分级等后期效果
为其他工具或引擎烘焙纹理时,确保颜色数据符合目标格式
在调试时,将任意中间线性颜色转换为 sRGB 以在屏幕上正确预览
如何调整
通过在创建节点时更改 `targetColorSpace` 字符串参数(如 'srgb', 'display-p3')来调整。此参数决定了节点应用的具体数学变换,从而改变输出颜色的数值和视觉外观。
代码示例
1// 假设 linearColorNode 是一个在线性工作空间中的颜色节点
2// 将其手动转换为 sRGB 色彩空间
3const srgbColorNode = workingToColorSpace( linearColorNode, 'srgb' );