From 917e9e0b320775634dc2e710f7deac74fd0822f0 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 22 Oct 2020 23:30:02 +0800 Subject: * amplify shader editor --- .../Previews/Preview_HSVToRGBNode.shader | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader (limited to 'Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader') diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader new file mode 100644 index 00000000..3bb972a6 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader @@ -0,0 +1,41 @@ +Shader "Hidden/HSVToRGBNode" +{ + Properties + { + _A ( "_Hue", 2D ) = "white" {} + _B ( "_Saturation", 2D ) = "white" {} + _C ( "_Value", 2D ) = "white" {} + } + + SubShader + { + Pass + { + CGPROGRAM + #include "UnityCG.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 + } + } +} -- cgit v1.1-26-g67d0