diff options
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader')
-rw-r--r-- | Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader new file mode 100644 index 00000000..59c2d434 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader @@ -0,0 +1,43 @@ +Shader "Hidden/RotatorNode" +{ + Properties + { + _A ("_UVs", 2D) = "white" {} + _B ("_Anchor", 2D) = "white" {} + _C ("_RotTimeTex", 2D) = "white" {} + } + SubShader + { + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag + #include "UnityCG.cginc" + + sampler2D _A; + sampler2D _B; + sampler2D _C; + float _UsingEditor; + float _EditorTime; + + float4 frag(v2f_img i) : SV_Target + { + float multiplier = tex2D ( _C, i.uv ).r; + float time = _EditorTime*multiplier; + + if ( _UsingEditor == 0 ) + { + time = multiplier; + } + + float cosT = cos( time ); + float sinT = sin( time ); + + float2 a = tex2D( _B, i.uv ).rg; + return float4( mul( tex2D( _A, i.uv ).xy - a, float2x2( cosT, -sinT, sinT, cosT ) ) + a, 0, 1 ); + } + ENDCG + } + } +} |