PointerShader.shader 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. Shader "FFALCON/Dot"
  2. {
  3. Properties
  4. {
  5. _Color ("Color", Color) = ( 1, 1, 1, 1 )
  6. _InnerDiameter ("InnerDiameter", Range(0, 10.0)) = 1.5
  7. _OuterDiameter ("OuterDiameter", Range(0.00872665, 10.0)) = 2.0
  8. _DistanceInMeters ("DistanceInMeters", Range(0.0, 10000.0)) = 2.0
  9. }
  10. SubShader
  11. {
  12. Tags { "Queue"="Overlay" "IgnoreProjector"="True" "RenderType"="Transparent" }
  13. Pass
  14. {
  15. Blend SrcAlpha OneMinusSrcAlpha, OneMinusDstAlpha One
  16. AlphaTest Off
  17. Cull Back
  18. Lighting Off
  19. ZWrite Off
  20. ZTest Always
  21. Fog { Mode Off }
  22. CGPROGRAM
  23. #pragma vertex vert
  24. #pragma fragment frag
  25. #include "UnityCG.cginc"
  26. uniform float4 _Color;
  27. uniform float _InnerDiameter;
  28. uniform float _OuterDiameter;
  29. uniform float _DistanceInMeters;
  30. struct vertexInput
  31. {
  32. float4 vertex : POSITION;
  33. };
  34. struct fragmentInput
  35. {
  36. float4 position : SV_POSITION;
  37. };
  38. fragmentInput vert(vertexInput i)
  39. {
  40. float scale = lerp(_OuterDiameter, _InnerDiameter, i.vertex.z);
  41. float3 vert_out = float3(i.vertex.x * scale, i.vertex.y * scale, _DistanceInMeters);
  42. fragmentInput o;
  43. o.position = UnityObjectToClipPos (vert_out);
  44. return o;
  45. }
  46. fixed4 frag(fragmentInput i) : SV_Target
  47. {
  48. fixed4 ret = _Color;
  49. return ret;
  50. }
  51. ENDCG
  52. }
  53. }
  54. }