效果预览
展示的效果是从HSL转换为RGB,H(色调)的取值范围是 (0, 360),S(饱和度)的取值范围是 (-1, 1),L(亮度)的取值范围是 (-1, 1)。
定义
RGB和HSL(也叫HSB/HSV)是两种不同的色彩空间,RGB代表红(Red)、绿(Green)、蓝(Blue),HSL代表色调(Hue)、饱和度(Saturation)、亮度(Lightness或Brightness或Value)。
RGB适用于机器采样,目前的显示器颜色都是由这三种基色构成;而HSL更符合人类的直观感觉,比如人表达一个颜色时会说:这个暗红色有点浓。而不会说红色占多少,绿色占多少,蓝色占多少。
一般程序中只使用RGB颜色空间就好了,但其实美术人员更多的是使用HSV(HSL),因为可以方便的调整饱和度和亮度。有时候美术需要程序帮助调整饱和度来达到特定风格的渲染效果,这时候就需要转换颜色空间了。
获取源码
项目代码:https://github.com/foupwang/ShadersForCocosCreator
交流
- 扫二维码关注公众号“楚游香”,做进一步的技术交流。