summaryrefslogtreecommitdiff
path: root/Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader')
-rw-r--r--Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader43
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
+ }
+ }
+}