shaderforge 色相节点

一、官方说明

根据Hue值输出RGB值,换句话说Hue节点的作用是,将Hue值转为相应的RGB值。

二、节点输入

Hue值
Hue节点输入值的[0,1]对应色相轮的[0°,360°]

三、节点输出

Hue节点输出的三维数据是Hue值对应的RGB值


图片摘自:怎样用 rgb 三元组理解色相、亮度和饱和度?
比如,hue值为0,对应
(1,0,0)红色;hue为0.333时对应(0,1,0)绿色…

四、应用实例-彩虹色变换

颜色随着时间发生彩虹色变换

节点树

效果展示

五、自定义UnityShader实现色相节点的功能

原理分析

颜色沿色相环变换一周(Hue从0到1),R、G、B通道值会相应的发生变化,我们可以对其作图,寻找RGB随hue的变化规律。以hue为x轴,R通道值作为y轴做出的图像如下图所示。

可推出:

float R = saturate(3.0*abs(1.0-2.0*frac(hueValue)))-1);

同理可推g,b的公式。整理一下得到hue转为rgb的公式如下:

float3 hueToRgb = saturate(3.0*abs(1.0-2.0*frac(hueValue+float3(0.0,-1.0/3.0,1.0/3.0)))-1);

写法

Shader "Hidden/NewImageEffectShader"
{Properties{_Spd("change spd", Float ) = 3}SubShader{Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv;return o;}float _Spd;fixed4 frag (v2f i) : SV_Target{float hueValue = _Time.x * _Spd;// 关键代码float3 hueToRgb = saturate(3.0*abs(1.0-2.0*frac(hueValue+float3(0.0,-1.0/3.0,1.0/3.0)))-1);return float4(hueToRgb,1);}ENDCG}}
}

效果展示

参考:

怎样用 rgb 三元组理解色相、亮度和饱和度?

【shaderforge学习笔记】 Hue节点(色相节点)相关推荐

  1. .net学习笔记----WebConfig常用配置节点介绍

    一.配置文件入门 .Net提供了一种保存项目配置信息的办法,就是利用配置文件,配置文件的后缀一般是.config.在WinForm程序中配置文件一般是App.config.在Asp.net中一般默认是 ...

  2. 【shaderforge学习笔记】 Rotator节点

    ShaderForge Rotator节点 一.节点介绍 旋转器 输出的是输入的uv以[piv]为锚点旋转后[ang] (单位为弧度)的uv信息.如果ang没有连线,或者ang连线到time节点上,那 ...

  3. 【shaderforge学习笔记】 Parallax节点(视差节点)

    shaderforge Parallax节点 一.官方说明 Parallax节点输出的uv是输入的uv经过视差偏移的得到结果,其中视差偏移程由[Hei]指定,[Hei]在计算偏移量时有两个相关参数:深 ...

  4. 【shaderforge学习笔记】 UVTile节点

    shaderforge UVTile节点 一. 介绍 UVTile UVTile可以用来以uv坐标为基准在一个纹理中取到其中一块的贴图. [UV]是整个贴图的UV值 [Wid]指定沿tilemap的x ...

  5. The Things Network LoRaWAN Stack V3 学习笔记 2.5 LoRa节点配置接入

    前言 网关接入之后,再让节点接入.本篇笔记重点记录一些小坑,注意跳过. 小能手这段时间在学习 The Things Network LoRaWAN Stack V3,从使用和代码等角度对该 Stack ...

  6. MySQL学习笔记-B站动力节点

    文章目录 MySQL Day1 1.概述 2.sql.DB.DBMS分别是什么?他们之间的关系? 3.表 4.sql语句分类 5.导入数据 6.sql脚本 7.删除数据库命令 8.查看表结构 9.查看 ...

  7. JavaScript学习笔记-B站动力节点

    文章目录 1.1.什么是JavaScript,有什么用? 1.2.HTML,CSS,JavaSript三者关系 2.在HTML中怎么嵌入JavaScript代码? 3.JS的标识符和关键字 4.关于J ...

  8. html学习笔记-B站动力节点

    文章目录 1.系统结构介绍 2.软件环境准备 3.什么是HTML?怎么开发HTML?怎么运行HTML? 4.HTML是谁制定的? 5.我的第一个HTML 6.HTML的基本标签 7.HTML的实体符号 ...

  9. 数据结构学习笔记4.1--查找节点

    有序数组的优点: 在有序数组中查找数据可以用二分查找法,用这个方法在查找时效率很高,所需时间是0(logN), 然而在插入或者删除数据时,需要平均移动N/2项数据,如果需要做很多的插入删除操作,就不应 ...

最新文章

  1. 人员信息管理系统练习
  2. django连接redis 集群(安装redis的相关包的时候亲测)
  3. android roboto字体下载,Android字体设置及Roboto字体使用方法
  4. vue爬坑之路2----vue实例
  5. 开源云平台 CloudStack 4.1.0 安装详解 - 3、vCenter
  6. AtCoder Grand Contest 023
  7. 【病毒分析】——熊猫烧香 专杀工具C源码
  8. 通过XShell远程连接Linux
  9. 哪些高级感中文Logo字体可免费商用?
  10. 智启联云GPS定位平台API开发接口HTTP/MQTT
  11. 2021年危险化学品经营单位安全管理人员考试总结及危险化学品经营单位安全管理人员作业考试题库
  12. 根据拓扑图,实现PC端通交换机ping通路由器loop back地址
  13. 解决谷歌、qq、edge、360、火狐浏览器打不开Axure原型图问题
  14. 极客日报:宿华不再担任快手CEO,程一笑接任;微软市值重登全球第一;Bootstrap 4.6.1发布
  15. 智解京东618——购物狂欢背后的安全暗战
  16. linux下重启邮件服务,Linux的postfix邮件服务
  17. [转贴]英语口语整理,灵活运用了,口语基本就没问题了。
  18. 【拓扑 字符串还原 + 线段树维护】奇洛金卡达(father)
  19. SICP的一些个人看法
  20. 第三章 LLR(对数似然比)知识点补充

热门文章

  1. 如何下载顺义区卫星地图高清版大图?
  2. 软件项目,什么叫坑爹!大家注意了
  3. 响应式布局(Responsive Layout)/流式布局(Fluid Layout)/自适应布局(Adaptive)
  4. 头插法建立单链表c语言6,2020-07-14(C语言)数据结构采用头插法建立单链表
  5. 输入法 for android2.3,落格输入法|落格输入法安卓版 v3.2.3_手机天堂
  6. 简单验证用户输入身份证号和手机号
  7. 计算机软件创新,利川计算机软件学院_创新学校
  8. 2021年制冷与空调设备运行操作试题及解析及制冷与空调设备运行操作证考试
  9. word闪退 用endnote_endnote更新导致word崩溃解决方法,亲测可用
  10. FPGA时序约束理论之时钟周期约束(5)