Statistics
| Branch: | Tag: | Revision:

root / Assets / Time of Day / Assets / Shaders / Moon.shader @ 175:f9f5640c2a3a

History | View | Annotate | Download (1.3 kB)

1
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
2
3
Shader "Time of Day/Moon"
4
{
5
	Properties
6
	{
7
		_MainTex ("Base (RGB)", 2D) = "white" {}
8
	}
9
10
	CGINCLUDE
11
	#include "UnityCG.cginc"
12
	#include "TOD_Base.cginc"
13
14
	uniform sampler2D _MainTex;
15
	uniform float4 _MainTex_ST;
16
17
	struct v2f {
18
		float4 position : SV_POSITION;
19
		half3  tex      : TEXCOORD0;
20
		half3  normal   : TEXCOORD1;
21
	};
22
23
	v2f vert(appdata_base v) {
24
		v2f o;
25
26
		o.position = TOD_TRANSFORM_VERT(v.vertex);
27
28
		o.normal = normalize(mul((float3x3)unity_ObjectToWorld, v.normal));
29
30
		float3 skyPos = mul(TOD_World2Sky, mul(unity_ObjectToWorld, v.vertex)).xyz;
31
32
		o.tex.xy = TRANSFORM_TEX(v.texcoord, _MainTex);
33
		o.tex.z  = skyPos.y * 25;
34
35
		return o;
36
	}
37
38
	half4 frag(v2f i) : COLOR {
39
		half4 color = half4(TOD_MoonMeshColor, 1);
40
41
		half alpha = max(0, dot(i.normal, TOD_SunDirection));
42
		alpha = saturate(i.tex.z) * TOD_MoonMeshBrightness * pow(alpha, TOD_MoonMeshContrast);
43
44
		half3 maintex = tex2D(_MainTex, i.tex).rgb;
45
46
		color.rgb *= maintex * alpha;
47
48
		return color;
49
	}
50
	ENDCG
51
52
	SubShader
53
	{
54
		Tags
55
		{
56
			"Queue"="Background+40"
57
			"RenderType"="Background"
58
			"IgnoreProjector"="True"
59
		}
60
61
		Pass
62
		{
63
			ZWrite Off
64
			ZTest LEqual
65
			Fog { Mode Off }
66
67
			CGPROGRAM
68
			#pragma vertex vert
69
			#pragma fragment frag
70
			ENDCG
71
		}
72
	}
73
74
	Fallback Off
75
}