FateViewer/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader

42 lines
801 B
Plaintext

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
}
}
}