summaryrefslogtreecommitdiff
path: root/shaders/unity/139-ScreenPos.shader_test
blob: dfceed4408a19970296899f782881cfa13842b96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Built-in shader from Unity 5.0.0b19:
# Surface/ScreenPos
# internal variant: DIRECTIONAL DIRLIGHTMAP_OFF DYNAMICLIGHTMAP_OFF LIGHTMAP_OFF SHADOWS_OFF
# This shader GLSL dump is put under MIT license
[require]
GLSL >= 1.10

[vertex shader]
uniform vec4 _ProjectionParams;
uniform vec4 unity_SHAr;
uniform vec4 unity_SHAg;
uniform vec4 unity_SHAb;
uniform vec4 unity_SHBr;
uniform vec4 unity_SHBg;
uniform vec4 unity_SHBb;
uniform vec4 unity_SHC;

uniform mat4 _World2Object;
varying vec3 xlv_TEXCOORD0;
varying vec4 xlv_TEXCOORD1;
varying vec3 xlv_TEXCOORD2;
void main ()
{
  vec4 tmpvar_1;
  tmpvar_1 = (gl_ModelViewProjectionMatrix * gl_Vertex);
  vec4 v_2;
  v_2.x = _World2Object[0].x;
  v_2.y = _World2Object[1].x;
  v_2.z = _World2Object[2].x;
  v_2.w = _World2Object[3].x;
  vec4 v_3;
  v_3.x = _World2Object[0].y;
  v_3.y = _World2Object[1].y;
  v_3.z = _World2Object[2].y;
  v_3.w = _World2Object[3].y;
  vec4 v_4;
  v_4.x = _World2Object[0].z;
  v_4.y = _World2Object[1].z;
  v_4.z = _World2Object[2].z;
  v_4.w = _World2Object[3].z;
  vec3 tmpvar_5;
  tmpvar_5 = normalize(((
    (v_2.xyz * gl_Normal.x)
   + 
    (v_3.xyz * gl_Normal.y)
  ) + (v_4.xyz * gl_Normal.z)));
  vec4 o_6;
  vec4 tmpvar_7;
  tmpvar_7 = (tmpvar_1 * 0.5);
  vec2 tmpvar_8;
  tmpvar_8.x = tmpvar_7.x;
  tmpvar_8.y = (tmpvar_7.y * _ProjectionParams.x);
  o_6.xy = (tmpvar_8 + tmpvar_7.w);
  o_6.zw = tmpvar_1.zw;
  vec4 tmpvar_9;
  tmpvar_9.w = 1.0;
  tmpvar_9.xyz = tmpvar_5;
  vec3 x2_10;
  vec3 x1_11;
  x1_11.x = dot (unity_SHAr, tmpvar_9);
  x1_11.y = dot (unity_SHAg, tmpvar_9);
  x1_11.z = dot (unity_SHAb, tmpvar_9);
  vec4 tmpvar_12;
  tmpvar_12 = (tmpvar_5.xyzz * tmpvar_5.yzzx);
  x2_10.x = dot (unity_SHBr, tmpvar_12);
  x2_10.y = dot (unity_SHBg, tmpvar_12);
  x2_10.z = dot (unity_SHBb, tmpvar_12);
  gl_Position = tmpvar_1;
  xlv_TEXCOORD0 = tmpvar_5;
  xlv_TEXCOORD1 = o_6;
  xlv_TEXCOORD2 = ((x1_11 + x2_10) + (unity_SHC.xyz * (
    (tmpvar_5.x * tmpvar_5.x)
   - 
    (tmpvar_5.y * tmpvar_5.y)
  )));
}

[fragment shader]
uniform vec4 _WorldSpaceLightPos0;
uniform vec4 _LightColor0;
uniform sampler2D _MainTex;
varying vec3 xlv_TEXCOORD0;
varying vec4 xlv_TEXCOORD1;
varying vec3 xlv_TEXCOORD2;
void main ()
{
  vec4 c_1;
  c_1.w = 0.0;
  c_1.xyz = (vec3(0.5, 0.5, 0.5) * xlv_TEXCOORD2);
  vec4 c_2;
  c_2.xyz = ((vec3(0.5, 0.5, 0.5) * _LightColor0.xyz) * (max (0.0, 
    dot (xlv_TEXCOORD0, _WorldSpaceLightPos0.xyz)
  ) * 2.0));
  c_2.w = 0.0;
  c_1.xyz = ((c_1 + c_2).xyz + (texture2D (_MainTex, (
    (xlv_TEXCOORD1.xy / xlv_TEXCOORD1.w)
   * vec2(2.0, 1.0))).xyz * 0.5));
  c_1.w = 1.0;
  gl_FragData[0] = c_1;
}