123456789101112131415161718192021222324252627282930313233343536373839404142 |
- Shader "Hidden/HSVToRGBNode"
- {
- Properties
- {
- _A ( "_Hue", 2D ) = "white" {}
- _B ( "_Saturation", 2D ) = "white" {}
- _C ( "_Value", 2D ) = "white" {}
- }
- SubShader
- {
- Pass
- {
- CGPROGRAM
- #include "UnityCG.cginc"
- #include "Preview.cginc"
- #pragma vertex vert_img
- #pragma fragment frag
- uniform sampler2D _A;
- uniform sampler2D _B;
- uniform sampler2D _C;
- float3 HSVToRGB( float3 c )
- {
- float4 K = float4( 1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0 );
- float3 p = abs( frac( c.xxx + K.xyz ) * 6.0 - K.www );
- return c.z * lerp( K.xxx, saturate( p - K.xxx ), c.y );
- }
- float4 frag ( v2f_img i ) : SV_Target
- {
- float h = tex2D ( _A, i.uv ).r;
- float s = tex2D ( _B, i.uv ).r;
- float v = tex2D ( _C, i.uv ).r;
- return float4( HSVToRGB(float3(h,s,v)), 1 );
- }
- ENDCG
- }
- }
- }
|