-
Notifications
You must be signed in to change notification settings - Fork 1
/
extraCredit.glsl
99 lines (75 loc) · 1.54 KB
/
extraCredit.glsl
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
/*
#version 150 // Uncomment when running through reference compiler.
precision highp float;
*/
void main(){
vec2 v2;
vec3 v3;
vec4 v4;
mat2 m2;
mat3 m3;
mat4 m4;
float f;
int i;
bool b;
mat4 g = m4 + 1.0;
mat4 h = m4 * 2.0;
mat4 j = m4 / 2.0;
mat4 k = m4 - 2.0;
mat4 g2 = 1.0 + m4;
mat4 h2 = 2.0 * m4;
mat4 j2 = 2.0 / m4;
mat4 k2 = 2.0 - m4;
vec2 v = v2 + 1.0;
vec3 vv = v3 + 1.0;
vec4 vvv = v4 + 1.0;
vec2 bv = 1.0 + v2;
vec3 bvv = 1.0 + v3;
vec4 bvvv = 1.0 + v4;
vec2 sv = v2 - 1.0;
vec3 svv = v3 - 1.0;
vec4 svvv = v4 - 1.0;
vec2 sbv = 1.0 - v2;
vec3 sbvv = 1.0 - v3;
vec4 sbvvv = 1.0 - v4;
vec2 mv = v2 * 1.0;
vec3 mvv = v3 * 1.0;
vec4 mvvv = v4 * 1.0;
vec2 mbv = 1.0 * v2;
vec3 mbvv = 1.0 * v3;
vec4 mbvvv = 1.0 * v4;
vec2 dv = v2 / 1.0;
vec3 dvv = v3 / 1.0;
vec4 dvvv = v4 / 1.0;
vec2 dbv = 1.0 / v2;
vec3 dbvv = 1.0 / v3;
vec4 dbvvv = 1.0 / v4;
vec2 mm = m2 * v2;
vec3 mm2 = m3 * v3;
vec4 mm3 = m4 * v4;
vec2 mm4 = v2 * m2;
vec3 mm5 = v3 * m3;
vec4 mm6 = v4 * m4;
v2 = (v2 = v2);
m2 = (m2 = m2);
m4 = (m4 = m4);
v2 = (v2 -= f);
v3 = (v3 -= f);
v4 = (v4 -= f);
v2 = (v2 *= f);
v3 = (v3 *= f);
v4 = (v4 *= f);
v2 = (v2 /= f);
v3 = (v3 /= f);
v4 = (v4 /= f);
v2 = (v2 += f);
v3 = (v3 += f);
v4 = (v4 += f);
m2 = (m2 += f);
m3 = (m3 += f);
m4 = (m4 += f);
v2 = (v2 *= m2);
v3 = (v3 *= m3);
v4 = (v4 *= m4);
v4 /= 1.0 - (2.0/(m4 * ((v4 * m4) + f * 2.0)));
}