RGBHSV 转换
来源:互联网 发布:oracle数据库考试题 编辑:程序博客网 时间:2024/06/18 00:10
fixed3 RGBtoHSV(fixed3 c)
{
fixed4 K = fixed4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
fixed4 p = lerp(fixed4(c.bg, K.wz), fixed4(c.gb, K.xy), step(c.b, c.g));
fixed4 q = lerp(fixed4(p.xyw, c.r), fixed4(c.r, p.yzx), step(p.x, c.r));
float d = q.x - min(q.w, q.y);
float e = 1.0e-10;
return fixed3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
}
fixed3 HSVtoRGB(fixed3 c)
{
fixed4 K = fixed4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
fixed3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www);
return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y);
}
{
fixed4 K = fixed4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
fixed4 p = lerp(fixed4(c.bg, K.wz), fixed4(c.gb, K.xy), step(c.b, c.g));
fixed4 q = lerp(fixed4(p.xyw, c.r), fixed4(c.r, p.yzx), step(p.x, c.r));
float d = q.x - min(q.w, q.y);
float e = 1.0e-10;
return fixed3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
}
fixed3 HSVtoRGB(fixed3 c)
{
fixed4 K = fixed4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
fixed3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www);
return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y);
}
阅读全文
0 0
- RGBHSV 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- 转换
- UnityProject面板中右键创建新的Lua脚本以及修改文件默认打开方式的编辑器
- Unity扩展GameObject等类中的方法
- DedeCMSV57数据库结构文档
- redis(10)——主从复制的配置
- UnityAsseet-FieldScriptWriter‘s instruction
- RGBHSV 转换
- centOS安装telnet(在线和rpm包安装)
- Unity3D 2D Sprite描边效果Shader,可手动调整效果适配
- 笨方法学习Python-习题17: 更多文件操作
- 微微一敲很惊人
- webrtc旧版本代码获取
- vb.net VS2010编程
- java连接mysql时遇到的问题
- java产生随机数