root / Assets / Time of Day / Assets / Shaders / Space.shader @ 175:f9f5640c2a3a
History | View | Annotate | Download (1.1 kB)
1 | // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld' |
---|---|
2 | |
3 | Shader "Time of Day/Space" |
4 | { |
5 | Properties |
6 | { |
7 | _CubeTex ("Cube (RGB)", Cube) = "black" {} |
8 | _Brightness ("Brightness", float) = 0 |
9 | } |
10 | |
11 | CGINCLUDE |
12 | #include "UnityCG.cginc" |
13 | #include "TOD_Base.cginc" |
14 | |
15 | uniform samplerCUBE _CubeTex; |
16 | uniform float _Brightness; |
17 | |
18 | struct v2f { |
19 | float4 position : SV_POSITION; |
20 | float4 viewdir : TEXCOORD0; |
21 | }; |
22 | |
23 | v2f vert(appdata_base v) { |
24 | v2f o; |
25 | |
26 | o.position = TOD_TRANSFORM_VERT(v.vertex); |
27 | |
28 | float3 vertnorm = normalize(v.vertex.xyz); |
29 | |
30 | float3 worldNormal = normalize(mul((float3x3)unity_ObjectToWorld, vertnorm)); |
31 | |
32 | o.viewdir.xyz = vertnorm; |
33 | o.viewdir.w = saturate(_Brightness * TOD_StarVisibility * worldNormal.y); |
34 | |
35 | return o; |
36 | } |
37 | |
38 | half4 frag(v2f i) : COLOR { |
39 | return half4(texCUBE(_CubeTex, i.viewdir.xyz).rgb * i.viewdir.w, 1); |
40 | } |
41 | ENDCG |
42 | |
43 | SubShader |
44 | { |
45 | Tags |
46 | { |
47 | "Queue"="Background+10" |
48 | "RenderType"="Background" |
49 | "IgnoreProjector"="True" |
50 | } |
51 | |
52 | Pass |
53 | { |
54 | ZWrite Off |
55 | ZTest LEqual |
56 | Fog { Mode Off } |
57 | |
58 | CGPROGRAM |
59 | #pragma vertex vert |
60 | #pragma fragment frag |
61 | ENDCG |
62 | } |
63 | } |
64 | |
65 | Fallback Off |
66 | } |