tonynogo

Demo 01 - ConcentricCircles

Jul 6th, 2017
3,799
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Shader "Custom/ConcentricCircles" {
  2.     Properties {
  3.         _OrigineX ("PosX Origine", Range(0,1)) = 0.5
  4.         _OrigineY ("PosY Origine", Range(0,1)) = 0.5
  5.         _Speed ("Speed", Range(-100,100)) = 60.0
  6.         _CircleNbr ("Circle quantity", Range(10,1000)) = 60.0
  7.     }
  8.  
  9.     SubShader {
  10.         Pass {
  11.             CGPROGRAM
  12.             #pragma vertex vert
  13.             #pragma fragment frag
  14.             #include "UnityCG.cginc"
  15.             #pragma target 3.0
  16.  
  17.             float _OrigineX;
  18.             float _OrigineY;
  19.             float _Speed;
  20.             float _CircleNbr;
  21.  
  22.             struct vertexInput {
  23.                 float4 vertex : POSITION;
  24.                 float4 texcoord0 : TEXCOORD0;
  25.             };
  26.  
  27.             struct fragmentInput{
  28.                 float4 position : SV_POSITION;
  29.                 float4 texcoord0 : TEXCOORD0;
  30.             };
  31.  
  32.             fragmentInput vert(vertexInput i){
  33.                 fragmentInput o;
  34.                 o.position = mul (UNITY_MATRIX_MVP, i.vertex);
  35.                 o.texcoord0 = i.texcoord0;
  36.                 return o;
  37.             }
  38.  
  39.             fixed4 frag(fragmentInput i) : SV_Target {
  40.                 fixed4 color;
  41.                 float distanceToCenter;
  42.                 float time = _Time.x * _Speed; 
  43.                            
  44.                 float xdist = _OrigineX - i.texcoord0.x;
  45.                 float ydist = _OrigineY - i.texcoord0.y;
  46.                
  47.                 distanceToCenter = (xdist * xdist + ydist * ydist) * _CircleNbr;
  48.                
  49.                 color = sin(distanceToCenter + time);
  50.                 return color;
  51.             }
  52.             ENDCG
  53.         }
  54.     }
  55. }
RAW Paste Data