1 #pragma once
2 
3 const char *const fireFragment = "#version 120\n\
4 uniform sampler2D fireAlpha;\
5 void main () {\
6 	vec4 texColor = texture2D(fireAlpha, gl_PointCoord);\
7 	gl_FragColor = vec4(gl_Color.rgb, texColor.a*gl_Color.a);\
8 }";
9 const char *const fireVertex = "#version 120\n\
10 void main(void)\
11 {\
12    gl_Position = ftransform();;\
13    gl_FrontColor = gl_Color;\
14 }";
15 const char *const lensFragment = "#version 120\n\
16 uniform sampler2D pTex;\
17 uniform sampler2D tfX;\
18 uniform sampler2D tfY;\
19 uniform float xres;\
20 uniform float yres;\
21 void main () {\
22 	vec4 transformX = texture2D(tfX, vec2(gl_TexCoord[0].s, -gl_TexCoord[0].t));\
23 	vec4 transformY = -texture2D(tfY, vec2(gl_TexCoord[0].s, -gl_TexCoord[0].t));\
24 	transformX.r /= xres;\
25 	transformY.g /= yres;\
26 	vec4 texColor = vec4(\
27 		texture2D(pTex, gl_TexCoord[0].st-vec2(transformX.r*0.75, transformY.g*0.75)).r,\
28 		texture2D(pTex, gl_TexCoord[0].st-vec2(transformX.r*0.875, transformY.g*0.875)).g,\
29 		texture2D(pTex, gl_TexCoord[0].st-vec2(transformX.r, transformY.g)).b,\
30 		1.0\
31 	);\
32 	gl_FragColor = texColor;\
33 }";
34 const char *const lensVertex = "#version 120\n\
35 void main(void)\
36 {\
37 	gl_TexCoord[0]  = gl_MultiTexCoord0;\
38 	gl_Position = ftransform();;\
39 	gl_FrontColor = gl_Color;\
40 }";
41 const char *const airVFragment = "#version 120\n\
42 uniform sampler2D airX;\
43 uniform sampler2D airY;\
44 uniform sampler2D airP;\
45 void main () {\
46 	vec4 texX = texture2D(airX, gl_TexCoord[0].st);\
47 	vec4 texY = texture2D(airY, gl_TexCoord[0].st);\
48 	vec4 texP = texture2D(airP, gl_TexCoord[0].st);\
49 	gl_FragColor = vec4(abs(texX.r)/2.0, texP.b/2.0, abs(texY.g)/2.0, 1.0);\
50 }";
51 const char *const airVVertex = "#version 120\n\
52 void main(void)\
53 {\
54 	gl_TexCoord[0]  = gl_MultiTexCoord0;\
55 	gl_Position = ftransform();;\
56 	gl_FrontColor = gl_Color;\
57 }";
58 const char *const airPFragment = "#version 120\n\
59 uniform sampler2D airX;\
60 uniform sampler2D airY;\
61 uniform sampler2D airP;\
62 void main () {\
63 	vec4 texP = texture2D(airP, gl_TexCoord[0].st);\
64 	gl_FragColor = vec4(max(texP.b/2.0, 0), 0, abs(min(texP.b/2.0, 0)), 1.0);\
65 }";
66 const char *const airPVertex = "#version 120\n\
67 void main(void)\
68 {\
69 	gl_TexCoord[0]  = gl_MultiTexCoord0;\
70 	gl_Position = ftransform();;\
71 	gl_FrontColor = gl_Color;\
72 }";
73 const char *const airCFragment = "#version 120\n\
74 uniform sampler2D airX;\
75 uniform sampler2D airY;\
76 uniform sampler2D airP;\
77 void main () {\
78 	vec4 texX = texture2D(airX, gl_TexCoord[0].st);\
79 	vec4 texY = texture2D(airY, gl_TexCoord[0].st);\
80 	vec4 texP = texture2D(airP, gl_TexCoord[0].st);\
81 	gl_FragColor = vec4(max(texP.b/2.0, 0), 0, abs(min(texP.b/2.0, 0)), 1.0) + vec4(abs(texX.r)/8.0, abs(texX.r)/8.0, abs(texX.r)/8.0, 1.0) + vec4(abs(texY.g)/8.0, abs(texY.g)/8.0, abs(texY.g)/8.0, 1.0);\
82 }";
83 const char *const airCVertex = "#version 120\n\
84 void main(void)\
85 {\
86 	gl_TexCoord[0]  = gl_MultiTexCoord0;\
87 	gl_Position = ftransform();;\
88 	gl_FrontColor = gl_Color;\
89 }";
90