mx_hsvtorgb
mx_hsvtorgb
将一个在 HSV(色相、饱和度、明度)空间中定义的颜色,转换回渲染器和显示器所需的 RGB 颜色空间。
核心优势
能够将直观的、程序化生成的颜色(如彩虹渐变、数据可视化色谱)无缝转换为可用的 RGB 颜色,极大地增强了动态和程序化视觉效果的创造力。
常见用途
通过将 UV 坐标或时间映射到色相,创建彩虹或动态流光效果。
在数据可视化中,将温度或压力等数据值映射为易于区分的颜色。
作为颜色校正流程的最后一步,将调整后的 HSV 颜色转换回 RGB。
如何调整
通过独立调整输入的 H, S, V 三个分量来精确控制颜色。改变 H(色相)会沿色谱循环(彩虹效果);改变 S(饱和度)会控制颜色的鲜艳程度(从灰色到纯色);改变 V(明度)会控制颜色的亮度(从黑色到亮色)。
代码示例
1// 使用 UV 坐标的 x 分量作为色相,创建彩虹渐变
2const hsvColor = vec3( uv().x, 1.0, 1.0 );
3
4// 将生成的 HSV 颜色转换为 RGB
5const rgbColor = mx_hsvtorgb( hsvColor );