diff options
Diffstat (limited to 'Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader')
-rw-r--r-- | Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader new file mode 100644 index 00000000..b607639b --- /dev/null +++ b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader @@ -0,0 +1,62 @@ +Shader "Hidden/ComponentMaskNode" +{ + Properties + { + _A ("_A", 2D) = "white" {} + } + SubShader + { + Pass + { + CGPROGRAM + #include "UnityCG.cginc" + #pragma vertex vert_img + #pragma fragment frag + + sampler2D _A; + float _Singular; + float4 _Order; + + float4 frag( v2f_img i ) : SV_Target + { + float4 a = tex2D( _A, i.uv ); + float4 r = 0; + if(_Singular == 0) + r = a.x; + else if(_Singular == 1) + r = a.y; + else if(_Singular == 2) + r = a.z; + else if(_Singular == 3) + r = a.w; + + if ( _Order.x == 0 ) + r.x = a.x; + else if(_Order.y == 0) + r.x = a.y; + else if(_Order.z == 0) + r.x = a.z; + else if(_Order.w == 0) + r.x = a.w; + + if(_Order.y == 1) + r.y = a.y; + else if(_Order.z == 1) + r.y = a.z; + else if(_Order.w == 1) + r.y = a.w; + + if(_Order.z == 2) + r.z = a.z; + else if(_Order.w == 2) + r.z = a.w; + + if(_Order.w == 3) + r.w = a.w; + + return r; + } + ENDCG + } + } +} |