|
|
- // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
- // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
-
- // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
-
- Shader "Hidden/ProGrids/pg_GridShader"
- {
- Properties
- {
- _AlphaCutoff ("Fade Cutoff", float) = .1
- _AlphaFade ("Fade Start", float) = .6
- _Color ("Color", Color) = ( .5, .5, .5, .8 )
- }
-
- SubShader
- {
- Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
- Lighting Off
- ZTest LEqual
- Blend SrcAlpha OneMinusSrcAlpha
- ZWrite Off
-
- Pass
- {
- CGPROGRAM
-
- #pragma vertex vert
- #pragma fragment frag
- #include "UnityCG.cginc"
-
- float _AlphaCutoff;
- float _AlphaFade;
- float4 _Color;
-
- struct appdata
- {
- float4 vertex : POSITION;
- float3 normal : NORMAL;
- float4 color : COLOR;
- };
-
- struct v2f
- {
- float4 pos : SV_POSITION;
- float4 world : TEXCOORD0;
- float4 color : COLOR;
- float3 normal : TEXCOORD1;
- };
-
- v2f vert (appdata v)
- {
- v2f o;
-
- o.pos = UnityObjectToClipPos(v.vertex);
- o.world = mul(unity_ObjectToWorld, v.vertex);
- o.normal = mul(unity_ObjectToWorld, float4(v.normal, 0)).xyz;
- o.color = v.color;
-
- return o;
- }
-
- half4 frag (v2f i) : COLOR
- {
- float3 viewDir = normalize(_WorldSpaceCameraPos.xyz - i.world.xyz);
- float d = abs(dot(i.normal, viewDir));
- float alpha = smoothstep(_AlphaCutoff, _AlphaFade, d);
- float4 col = i.color;
- col.a *= alpha;
- return col;
- }
-
- ENDCG
- }
- }
- }
|