Client Upload Part 1

RD Core / Commit #4

Commit Client Upload Part 1

Alex Alex committed 19/10/2026 00:04 main Patch
4,149 files +18,091 -7
A RD_Client/data/shaders/map_rainbow_fragment.frag +15-0 View file
@@ -0,0 +1,15 @@
1+
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+
5+uniform vec4 u_Color;
6+uniform sampler2D u_Tex0;
7+uniform sampler2D u_Tex1;
8+
9+void main()
10+{
11+ gl_FragColor = texture2D(u_Tex0, v_TexCoord) * u_Color;
12+ gl_FragColor += texture2D(u_Tex1, v_TexCoord2);
13+ if(gl_FragColor.a < 0.01)
14+ discard;
15+}
A RD_Client/data/shaders/map_rainbow_vertex.frag +33-0 View file
@@ -0,0 +1,33 @@
1+attribute vec2 a_TexCoord;
2+attribute vec2 a_Vertex;
3+
4+varying vec2 v_TexCoord;
5+varying vec2 v_TexCoord2;
6+
7+uniform mat3 u_TextureMatrix;
8+uniform mat3 u_TransformMatrix;
9+uniform mat3 u_ProjectionMatrix;
10+
11+uniform vec2 u_Offset;
12+uniform vec2 u_Center;
13+uniform float u_Time;
14+
15+vec2 effectTextureSize = vec2(466.0, 342.0);
16+vec2 direction = vec2(1.0,0.2);
17+float speed = 200.0;
18+
19+vec2 rotate(vec2 v, float a) {
20+ float s = sin(a);
21+ float c = cos(a);
22+ mat2 m = mat2(c, -s, s, c);
23+ return m * v;
24+}
25+
26+void main()
27+{
28+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0);
29+ v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
30+
31+ v_TexCoord2 = ((a_Vertex + direction * u_Time * speed) / effectTextureSize);
32+}
33+
A RD_Client/data/shaders/map_snow.frag +37-0 View file
@@ -0,0 +1,37 @@
1+uniform float u_Time;
2+uniform sampler2D u_Tex0;
3+uniform sampler2D u_Tex1;
4+uniform vec2 u_Resolution;
5+varying vec2 v_TexCoord;
6+
7+#define LAYERS 7
8+#define DEPTH .8
9+#define WIDTH .3
10+#define SPEED .6
11+
12+void main( )
13+{
14+ const mat3 p = mat3(13.323122,23.5112,21.71123,21.1212,28.7312,11.9312,21.8112,14.7212,61.3934);
15+ vec2 uv = v_TexCoord.xy;
16+ uv.x = uv.x * (u_Resolution.x / u_Resolution.y);
17+ vec3 acc = vec3(0.0);
18+ float dof = 5.*sin(u_Time*.1);
19+ for (int i=0;i<LAYERS;i++) {
20+ float fi = float(i);
21+ vec2 q = uv*(1.+fi*DEPTH);
22+ q += vec2(q.y*(WIDTH*mod(fi*7.238917,1.)-WIDTH*.5),SPEED*u_Time/(1.+fi*DEPTH*.03));
23+ vec3 n = vec3(floor(q),31.189+fi);
24+ vec3 m = floor(n)*.00001 + fract(n);
25+ vec3 mp = (31415.9+m)/fract(p*m);
26+ vec3 r = fract(mp);
27+ vec2 s = abs(mod(q,1.)-.5+.9*r.xy-.45);
28+ s += .01*abs(2.*fract(10.*q.yx)-1.);
29+ float d = .6*max(s.x-s.y,s.x+s.y)+max(s.x,s.y)-.01;
30+ float edge = .005+.05*min(.5*abs(fi-5.-dof),1.);
31+ acc += vec3(smoothstep(edge,-edge,d)*(r.x/(1.+.02*fi*DEPTH)));
32+ }
33+
34+ vec3 bgcol = texture2D(u_Tex0, v_TexCoord).xyz;
35+ vec3 col = bgcol + acc;
36+ gl_FragColor = vec4(vec3(col),1.0);
37+}
A RD_Client/data/shaders/map_snow_fragment.frag +25-0 View file
@@ -0,0 +1,25 @@
1+
2+varying vec2 v_TexCoord;
3+
4+uniform vec4 u_Color;
5+uniform sampler2D u_Tex0;
6+uniform sampler2D u_Tex1;
7+uniform float u_Time;
8+uniform vec2 u_WalkOffset;
9+
10+vec2 snowDirection = vec2(1.0, 0.2);
11+float snowSpeed = 0.08;
12+float snowPressure = 0.4;
13+float snowZoom = 0.6;
14+
15+void main()
16+{
17+ gl_FragColor = texture2D(u_Tex0, v_TexCoord) * u_Color;
18+
19+ vec2 snowCoord = (v_TexCoord + vec2(u_WalkOffset.x, u_WalkOffset.y) + (snowDirection * u_Time * snowSpeed)) / snowZoom;
20+ vec4 effectPixel = texture2D(u_Tex1, snowCoord) * snowPressure;
21+
22+ gl_FragColor += (effectPixel.rgba);
23+ if(gl_FragColor.a < 0.01)
24+ discard;
25+}
A RD_Client/data/shaders/map_snow_vertex.frag +18-0 View file
@@ -0,0 +1,18 @@
1+attribute vec2 a_TexCoord;
2+attribute vec2 a_Vertex;
3+
4+varying vec2 v_TexCoord;
5+varying vec2 v_TexCoord2;
6+
7+uniform mat3 u_TextureMatrix;
8+uniform mat3 u_TransformMatrix;
9+uniform mat3 u_ProjectionMatrix;
10+
11+uniform vec2 u_Offset;
12+uniform vec2 u_Center;
13+
14+void main()
15+{
16+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0);
17+ v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
18+}
A RD_Client/data/shaders/map_test_fragment.frag +32-0 View file
@@ -0,0 +1,32 @@
1+#ifdef GL_ES
2+precision mediump float;
3+#endif
4+
5+uniform float u_Time;
6+uniform sampler2D u_NoiseTexture; // Noise texture for turbulence
7+varying vec2 v_TexCoord;
8+
9+float cloudNoise(vec2 uv) {
10+ return texture2D(u_NoiseTexture, uv).r;
11+}
12+
13+void main(void) {
14+ vec2 uv = v_TexCoord;
15+
16+ float ttime = u_Time * 0.1;
17+ vec2 offset = vec2(sin(ttime), cos(ttime)) * 0.1;
18+
19+ // Apply turbulence using noise function
20+ float turb = cloudNoise(uv + offset);
21+ uv += (turb - 0.5) * 0.1;
22+
23+ // Apply the cloud color
24+ vec3 cloudColor = vec3(0.5, 0.6, 1.0); // Blue cloud color
25+ float opacity = 0.6;
26+
27+ // Apply a cloud-like blending using turbulence
28+ float cloudLayer = cloudNoise(uv * 5.0);
29+ vec3 finalColor = mix(cloudColor, vec3(1.0), cloudLayer * opacity);
30+
31+ gl_FragColor = vec4(finalColor, 1.0);
32+}
A RD_Client/data/shaders/map_toxic_fog.frag +30-0 View file
@@ -0,0 +1,30 @@
1+uniform float u_Time;
2+uniform sampler2D u_Tex0;
3+uniform sampler2D u_Tex1;
4+varying vec2 v_TexCoord;
5+uniform mat3 u_TextureMatrix;
6+uniform vec2 u_MapCoords;
7+
8+vec2 direction = vec2(1.0,0.3);
9+float speed = 0.05;
10+float pressure = 0.9;
11+float zoom = 0.5;
12+
13+vec3 toxicEffect(vec3 color)
14+{
15+ return vec3(color.x * 0.15,
16+ color.y * 0.6,
17+ color.z * 0.15);
18+}
19+
20+void main(void)
21+{
22+ vec2 b = vec2(-u_TextureMatrix[1][1]/u_TextureMatrix[0][0], 1.0);
23+
24+ vec2 offset = (u_MapCoords + (v_TexCoord * b) + (direction * u_Time * speed)) / zoom;
25+ vec3 bgcol = texture2D(u_Tex0, v_TexCoord).xyz;
26+ vec3 fogcol = texture2D(u_Tex1, offset).xyz;
27+ fogcol = toxicEffect(fogcol);
28+ vec3 col = bgcol + fogcol*pressure;
29+ gl_FragColor = vec4(col,1.0);
30+}
A RD_Client/data/shaders/map_vertex.frag +16-0 View file
@@ -0,0 +1,16 @@
1+attribute vec2 a_TexCoord;
2+uniform mat3 u_TextureMatrix;
3+varying vec2 v_TexCoord;
4+vec4 calculatePosition();
5+void main()
6+{
7+ gl_Position = calculatePosition();
8+ v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
9+}
10+
11+attribute vec2 a_Vertex;
12+uniform mat3 u_TransformMatrix;
13+uniform mat3 u_ProjectionMatrix;
14+vec4 calculatePosition() {
15+ return vec4(u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0), 1.0);
16+}
A RD_Client/data/shaders/map_vertex_with_static.frag +27-0 View file
@@ -0,0 +1,27 @@
1+attribute vec2 a_TexCoord;
2+uniform mat3 u_TextureMatrix;
3+varying vec2 v_TexCoord;
4+varying vec2 v_TexCoord2; // for the auxiliar texture
5+uniform vec2 u_Offset;
6+uniform vec2 u_Resolution;
7+vec4 calculatePosition();
8+void main()
9+{
10+ gl_Position = calculatePosition();
11+ v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
12+
13+ // they are static
14+ v_TexCoord2 = gl_Position.xy;
15+
16+ // fix the image to no longer be replicated
17+ v_TexCoord2 = vec2(v_TexCoord2.x/2.0, v_TexCoord2.y/2.0);
18+ v_TexCoord2.x += 0.5;
19+ v_TexCoord2.y += 0.5;
20+}
21+
22+uniform mat3 u_TransformMatrix;
23+uniform mat3 u_ProjectionMatrix;
24+attribute vec2 a_Vertex;
25+vec4 calculatePosition() {
26+ return vec4(u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0), 1.0);
27+}
A RD_Client/data/shaders/mirrored_fragment.frag +9-0 View file
@@ -0,0 +1,9 @@
1+varying vec2 v_TexCoord;
2+uniform vec4 u_Color;
3+uniform sampler2D u_Tex0;
4+
5+void main()
6+{
7+ vec2 mirroredTexCoord = vec2(1.0 - v_TexCoord.x, v_TexCoord.y);
8+ gl_FragColor = texture2D(u_Tex0, mirroredTexCoord);
9+}
A RD_Client/data/shaders/myShader.frag +10-0 View file
@@ -0,0 +1,10 @@
1+// myShader.frag
2+uniform float offsetX;
3+uniform float offsetY;
4+
5+void main() {
6+ vec2 uv = gl_FragCoord.xy / resolution.xy;
7+ uv.x += offsetX;
8+ uv.y += offsetY;
9+ gl_FragColor = texture2D(texture, uv);
10+}
A RD_Client/data/shaders/new_ghost_frag.frag +21-0 View file
@@ -0,0 +1,21 @@
1+uniform mat4 u_Color;
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+varying vec2 v_TexCoord3;
5+varying vec2 v_Position;
6+uniform sampler2D u_Tex0;
7+uniform float u_Time;
8+uniform vec2 u_Resolution;
9+
10+void main()
11+{
12+ vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
13+ vec4 baseColor = texture2D(u_Tex0, v_TexCoord);
14+
15+ float alpha = 1.0 - min(1.0, length(v_TexCoord - 0.5) * 2.0);
16+ alpha *= smoothstep(0.0, 0.3, texcolor.r);
17+ alpha *= smoothstep(0.0, 0.3, texcolor.g);
18+ alpha *= smoothstep(0.0, 0.3, texcolor.b);
19+
20+ gl_FragColor = mix(baseColor, vec4(1.0, 1.0, 1.0, alpha), 0.7);
21+}
A RD_Client/data/shaders/new_ghost_vert.frag +15-0 View file
@@ -0,0 +1,15 @@
1+attribute vec2 a_Vertex;
2+attribute vec2 a_TexCoord;
3+uniform mat3 u_TextureMatrix;
4+varying vec2 v_TexCoord;
5+varying vec2 v_TexCoord2;
6+uniform mat3 u_TransformMatrix;
7+uniform mat3 u_ProjectionMatrix;
8+uniform vec2 u_Offset;
9+
10+void main()
11+{
12+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0);
13+ v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
14+ v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy;
15+}
A RD_Client/data/shaders/noise.frag +56-0 View file
@@ -0,0 +1,56 @@
1+uniform sampler2D u_Tex0;
2+varying vec2 v_TexCoord;
3+uniform float u_Time;
4+uniform vec2 u_Resolution;
5+const float PI = 3.1415926535897932;
6+
7+// speed
8+const float speed = 0.16;
9+const float speed_x = 0.13;
10+const float speed_y = 0.12;
11+
12+// geometry
13+const float intensity = 100.;
14+const int steps = 3;
15+const float frequency = 100.0;
16+const int angle = 7; // better when a prime
17+
18+// reflection and emboss
19+const float delta = 1000.;
20+const float intence = 10.2;
21+const float emboss = 1.;
22+
23+//---------- crystals effect
24+float col(vec2 coord)
25+{
26+ float delta_theta = 2.0 * PI / float(angle);
27+ float col = 0.0;
28+ float theta = 0.0;
29+ for(int i = 0; i < steps; i++) {
30+ vec2 adjc = coord;
31+ theta = delta_theta*float(i);
32+ adjc.x += cos(theta)*u_Time*speed + u_Time * speed_x;
33+ adjc.y -= sin(theta)*u_Time*speed - u_Time * speed_y;
34+ col = col + cos( (adjc.x*cos(theta) - adjc.y*sin(theta))*frequency)*intensity;
35+ }
36+ return cos(col);
37+}
38+
39+void main(void)
40+{
41+ vec2 p = v_TexCoord, c1 = p, c2 = p;
42+ float cc1 = col(c1);
43+
44+ c2.x += u_Resolution.x/delta;
45+ float dx = emboss*(cc1-col(c2))/delta;
46+
47+ c2.x = p.x;
48+ c2.y += u_Resolution.y/delta;
49+ float dy = emboss*(cc1-col(c2))/delta;
50+
51+ c1.x += dx;
52+ c1.y += dy;
53+
54+ float alpha = 1.+dot(dx,dy)*intence;
55+ gl_FragColor = texture2D(u_Tex0,c1)*(alpha);
56+}
A RD_Client/data/shaders/non_glowing_blue_frag.frag +29-0 View file
@@ -0,0 +1,29 @@
1+uniform mat4 u_Color;
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+varying vec2 v_TexCoord3;
5+varying vec2 v_Position;
6+uniform sampler2D u_Tex0;
7+uniform float u_Time;
8+uniform vec2 u_Resolution;
9+
10+void main()
11+{
12+ gl_FragColor = texture2D(u_Tex0, v_TexCoord);
13+ vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
14+ vec4 texcolor2 = texture2D(u_Tex0, v_TexCoord3);
15+ if(texcolor.r > 0.9) {
16+ gl_FragColor *= texcolor.g > 0.9 ? u_Color[0] : u_Color[1];
17+ } else if(texcolor.g > 0.9) {
18+ gl_FragColor *= u_Color[2];
19+ } else if(texcolor.b > 0.9) {
20+ gl_FragColor *= u_Color[3];
21+ }
22+ if(gl_FragColor.a < 0.01) {
23+ if(texcolor2.a > 0.01) {
24+ gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0);
25+ } else {
26+ discard;
27+ }
28+ }
29+}
A RD_Client/data/shaders/non_glowing_blue_vert.frag +40-0 View file
@@ -0,0 +1,40 @@
1+attribute vec2 a_TexCoord;
2+uniform mat3 u_TextureMatrix;
3+varying vec2 v_TexCoord;
4+varying vec2 v_TexCoord2;
5+varying vec2 v_TexCoord3;
6+varying vec2 v_Position;
7+attribute vec2 a_Vertex;
8+uniform mat3 u_TransformMatrix;
9+uniform mat3 u_ProjectionMatrix;
10+uniform vec2 u_Offset;
11+uniform vec2 u_Resolution;
12+uniform vec2 u_Center;
13+
14+void main()
15+{
16+ vec2 vertex = a_Vertex;
17+ vec2 text = a_TexCoord;
18+ vec2 text2 = a_TexCoord;
19+ if(vertex.x < u_Center.x) {
20+ vertex.x -= 1.0;
21+ text.x -= 1.0;
22+ }
23+ if(vertex.x > u_Center.x) {
24+ vertex.x += 1.0;
25+ text.x += 1.0;
26+ }
27+ if(vertex.y < u_Center.y) {
28+ vertex.y -= 1.0;
29+ text.y -= 1.0;
30+ }
31+ if(vertex.y > u_Center.y) {
32+ vertex.y += 1.0;
33+ text.y += 1.0;
34+ }
35+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(vertex.xy, 1.0)).xy, 1.0, 1.0);
36+ v_Position = a_Vertex.xy - u_Center;
37+ v_TexCoord = (u_TextureMatrix * vec3(text,1.0)).xy;
38+ v_TexCoord2 = (u_TextureMatrix * vec3(text + u_Offset,1.0)).xy;
39+ v_TexCoord3 = (u_TextureMatrix * vec3(text2,1.0)).xy;
40+}
A RD_Client/data/shaders/non_glowing_green_frag.frag +29-0 View file
@@ -0,0 +1,29 @@
1+uniform mat4 u_Color;
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+varying vec2 v_TexCoord3;
5+varying vec2 v_Position;
6+uniform sampler2D u_Tex0;
7+uniform float u_Time;
8+uniform vec2 u_Resolution;
9+
10+void main()
11+{
12+ gl_FragColor = texture2D(u_Tex0, v_TexCoord);
13+ vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
14+ vec4 texcolor2 = texture2D(u_Tex0, v_TexCoord3);
15+ if(texcolor.r > 0.9) {
16+ gl_FragColor *= texcolor.g > 0.9 ? u_Color[0] : u_Color[1];
17+ } else if(texcolor.g > 0.9) {
18+ gl_FragColor *= u_Color[2];
19+ } else if(texcolor.b > 0.9) {
20+ gl_FragColor *= u_Color[3];
21+ }
22+ if(gl_FragColor.a < 0.01) {
23+ if(texcolor2.a > 0.01) {
24+ gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0); //Change the color here
25+ } else {
26+ discard;
27+ }
28+ }
29+}
A RD_Client/data/shaders/non_glowing_green_vert.frag +41-0 View file
@@ -0,0 +1,41 @@
1+attribute vec2 a_TexCoord;
2+uniform mat3 u_TextureMatrix;
3+varying vec2 v_TexCoord;
4+varying vec2 v_TexCoord2;
5+varying vec2 v_TexCoord3;
6+varying vec2 v_Position;
7+attribute vec2 a_Vertex;
8+uniform mat3 u_TransformMatrix;
9+uniform mat3 u_ProjectionMatrix;
10+uniform vec2 u_Offset;
11+uniform vec2 u_Resolution;
12+uniform vec2 u_Center;
13+
14+void main()
15+{
16+ vec2 vertex = a_Vertex;
17+ vec2 text = a_TexCoord;
18+ vec2 text2 = a_TexCoord;
19+ if(vertex.x < u_Center.x) {
20+ vertex.x -= 1.0;
21+ text.x -= 1.0;
22+ }
23+ if(vertex.x > u_Center.x) {
24+ vertex.x += 1.0;
25+ text.x += 1.0;
26+ }
27+ if(vertex.y < u_Center.y) {
28+ vertex.y -= 1.0;
29+ text.y -= 1.0;
30+ }
31+ if(vertex.y > u_Center.y) {
32+ vertex.y += 1.0;
33+ text.y += 1.0;
34+ }
35+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(vertex.xy, 1.0)).xy, 1.0, 1.0);
36+ v_Position = a_Vertex.xy - u_Center;
37+ v_TexCoord = (u_TextureMatrix * vec3(text,1.0)).xy;
38+ v_TexCoord2 = (u_TextureMatrix * vec3(text + u_Offset,1.0)).xy;
39+ v_TexCoord3 = (u_TextureMatrix * vec3(text2,1.0)).xy;
40+}
41+
A RD_Client/data/shaders/non_glowing_yellow_frag.frag +33-0 View file
@@ -0,0 +1,33 @@
1+uniform mat4 u_Color;
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+varying vec2 v_TexCoord3;
5+varying vec2 v_Position;
6+uniform sampler2D u_Tex0;
7+uniform float u_Time;
8+uniform vec2 u_Resolution;
9+
10+void main()
11+{
12+ gl_FragColor = texture2D(u_Tex0, v_TexCoord);
13+ vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
14+ vec4 texcolor2 = texture2D(u_Tex0, v_TexCoord3);
15+ if(texcolor.r > 0.9) {
16+ gl_FragColor *= texcolor.g > 0.9 ? u_Color[0] : u_Color[1];
17+ } else if(texcolor.g > 0.9) {
18+ gl_FragColor *= u_Color[2];
19+ } else if(texcolor.b > 0.9) {
20+ gl_FragColor *= u_Color[3];
21+ }
22+if(gl_FragColor.a < 0.01) {
23+ if(texcolor2.a > 0.01) {
24+ // Interpolate between green and orange based on time
25+ float t = 0.5 + abs(0.5 - mod(u_Time, 1.0));
26+ gl_FragColor = mix(vec4(0.5, 0.5, 0.0, 1.0), vec4(1.0, 0.9, 0.0, 1.0), t);
27+ } else {
28+ discard;
29+ }
30+}
31+
32+
33+}
A RD_Client/data/shaders/non_glowing_yellow_vert.frag +40-0 View file
@@ -0,0 +1,40 @@
1+attribute vec2 a_TexCoord;
2+uniform mat3 u_TextureMatrix;
3+varying vec2 v_TexCoord;
4+varying vec2 v_TexCoord2;
5+varying vec2 v_TexCoord3;
6+varying vec2 v_Position;
7+attribute vec2 a_Vertex;
8+uniform mat3 u_TransformMatrix;
9+uniform mat3 u_ProjectionMatrix;
10+uniform vec2 u_Offset;
11+uniform vec2 u_Resolution;
12+uniform vec2 u_Center;
13+
14+void main()
15+{
16+ vec2 vertex = a_Vertex;
17+ vec2 text = a_TexCoord;
18+ vec2 text2 = a_TexCoord;
19+ if(vertex.x < u_Center.x) {
20+ vertex.x -= 1.0;
21+ text.x -= 1.0;
22+ }
23+ if(vertex.x > u_Center.x) {
24+ vertex.x += 1.0;
25+ text.x += 1.0;
26+ }
27+ if(vertex.y < u_Center.y) {
28+ vertex.y -= 1.0;
29+ text.y -= 1.0;
30+ }
31+ if(vertex.y > u_Center.y) {
32+ vertex.y += 1.0;
33+ text.y += 1.0;
34+ }
35+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(vertex.xy, 1.0)).xy, 1.0, 1.0);
36+ v_Position = a_Vertex.xy - u_Center;
37+ v_TexCoord = (u_TextureMatrix * vec3(text,1.0)).xy;
38+ v_TexCoord2 = (u_TextureMatrix * vec3(text + u_Offset,1.0)).xy;
39+ v_TexCoord3 = (u_TextureMatrix * vec3(text2,1.0)).xy;
40+}
A RD_Client/data/shaders/oldtv.frag +24-0 View file
@@ -0,0 +1,24 @@
1+uniform float u_Time;
2+varying vec2 v_TexCoord;
3+uniform sampler2D u_Tex0;
4+
5+void main(void)
6+{
7+ vec2 q = v_TexCoord;
8+ vec2 uv = 0.5 + (q-0.5)*(0.9 + 0.1*sin(0.2*u_Time));
9+
10+ vec3 oricol = texture2D(u_Tex0,vec2(q.x,q.y)).xyz;
11+ vec3 col = oricol;
12+
13+ col = clamp(col*0.5+0.5*col*col*1.2,0.0,1.0);
14+
15+ col *= 0.5 + 0.5*16.0*uv.x*uv.y*(1.0-uv.x)*(1.0-uv.y);
16+
17+ col *= vec3(0.8,1.0,0.7);
18+
19+ col *= 0.9+0.1*sin(10.0*u_Time+uv.y*1000.0);
20+
21+ col *= 0.97+0.03*sin(110.0*u_Time);
22+
23+ gl_FragColor = vec4(col,1.0);
24+}
A RD_Client/data/shaders/orange_non_glow_frag.frag +33-0 View file
@@ -0,0 +1,33 @@
1+uniform mat4 u_Color;
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+varying vec2 v_TexCoord3;
5+varying vec2 v_Position;
6+uniform sampler2D u_Tex0;
7+uniform float u_Time;
8+uniform vec2 u_Resolution;
9+
10+void main()
11+{
12+ gl_FragColor = texture2D(u_Tex0, v_TexCoord);
13+ vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
14+ vec4 texcolor2 = texture2D(u_Tex0, v_TexCoord3);
15+ if(texcolor.r > 0.9) {
16+ gl_FragColor *= texcolor.g > 0.9 ? u_Color[0] : u_Color[1];
17+ } else if(texcolor.g > 0.9) {
18+ gl_FragColor *= u_Color[2];
19+ } else if(texcolor.b > 0.9) {
20+ gl_FragColor *= u_Color[3];
21+ }
22+if(gl_FragColor.a < 0.01) {
23+ if(texcolor2.a > 0.01) {
24+ // Interpolate between green and orange based on time
25+ float t = 0.5 + abs(0.5 - mod(u_Time, 1.0));
26+gl_FragColor = mix(vec4(1.0, 0.0, 0.0, 1.0), vec4(1.0, 0.5, 0.0, 1.0), t);
27+ } else {
28+ discard;
29+ }
30+}
31+
32+
33+}
A RD_Client/data/shaders/orange_non_glow_vert.frag +41-0 View file
@@ -0,0 +1,41 @@
1+attribute vec2 a_TexCoord;
2+uniform mat3 u_TextureMatrix;
3+varying vec2 v_TexCoord;
4+varying vec2 v_TexCoord2;
5+varying vec2 v_TexCoord3;
6+varying vec2 v_Position;
7+attribute vec2 a_Vertex;
8+uniform mat3 u_TransformMatrix;
9+uniform mat3 u_ProjectionMatrix;
10+uniform vec2 u_Offset;
11+uniform vec2 u_Resolution;
12+uniform vec2 u_Center;
13+
14+void main()
15+{
16+ vec2 vertex = a_Vertex;
17+ vec2 text = a_TexCoord;
18+ vec2 text2 = a_TexCoord;
19+ if(vertex.x < u_Center.x) {
20+ vertex.x -= 1.0;
21+ text.x -= 1.0;
22+ }
23+ if(vertex.x > u_Center.x) {
24+ vertex.x += 1.0;
25+ text.x += 1.0;
26+ }
27+ if(vertex.y < u_Center.y) {
28+ vertex.y -= 1.0;
29+ text.y -= 1.0;
30+ }
31+ if(vertex.y > u_Center.y) {
32+ vertex.y += 1.0;
33+ text.y += 1.0;
34+ }
35+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(vertex.xy, 1.0)).xy, 1.0, 1.0);
36+ v_Position = a_Vertex.xy - u_Center;
37+ v_TexCoord = (u_TextureMatrix * vec3(text,1.0)).xy;
38+ v_TexCoord2 = (u_TextureMatrix * vec3(text + u_Offset,1.0)).xy;
39+ v_TexCoord3 = (u_TextureMatrix * vec3(text2,1.0)).xy;
40+}
41+
A RD_Client/data/shaders/outfit_3line_fragment.frag +45-0 View file
@@ -0,0 +1,45 @@
1+uniform mat4 u_Color;
2+varying vec2 v_TexCoord;
3+varying vec2 v_TexCoord2;
4+varying vec2 v_Position;
5+uniform sampler2D u_Tex0;
6+uniform float u_Time;
7+
8+// CONFIG
9+float speed = 4.0;
10+float height = 8.0;
11+float angle = 290.0; // degrees
12+float intensity = 1.0;
13+// CONFIG END
14+
15+vec2 rotate(vec2 v, float a) {
16+ float s = sin(a);
17+ float c = cos(a);
18+ mat2 m = mat2(c, -s, s, c);
19+ return m * v;
20+}
21+
22+void main()
23+{
24+ gl_FragColor = texture2D(u_Tex0, v_TexCoord);
25+ vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
26+ if(texcolor.r > 0.9) {
27+ gl_FragColor *= texcolor.g > 0.9 ? u_Color[0] : u_Color[1];
28+ } else if(texcolor.g > 0.9) {
29+ gl_FragColor *= u_Color[2];
30+ } else if(texcolor.b > 0.9) {
31+ gl_FragColor *= u_Color[3];
32+ }
33+
34+ if(texcolor.a > 0.9) {
35+ vec2 p = rotate(v_Position, (angle / 180.0) * 3.14);
36+ float frame = mod(p.y, height) - mod(u_Time * speed, height);
37+ float dist1 = min(abs(frame), min(abs(frame - height), abs(frame + height)));
38+ frame = mod(p.y + height * 0.33, height) - mod(u_Time * speed, height);
39+ float dist2 = min(abs(frame), min(abs(frame - height), abs(frame + height)));
40+ frame = mod(p.y + height * 0.66, height) - mod(u_Time * speed, height);
41+ float dist3 = min(abs(frame), min(abs(frame - height), abs(frame + height)));
42+ gl_FragColor.xyz *= vec3(intensity / sqrt(dist1 / 2.0), intensity / sqrt(dist2 / 2.0), intensity/ sqrt(dist3 / 2.0));
43+ }
44+ if(gl_FragColor.a < 0.01) discard;
45+}
A RD_Client/data/shaders/outfit_3line_vertex.frag +20-0 View file
@@ -0,0 +1,20 @@
1+attribute vec2 a_TexCoord;
2+uniform mat3 u_TextureMatrix;
3+varying vec2 v_TexCoord;
4+varying vec2 v_TexCoord2;
5+varying vec2 v_Position;
6+attribute vec2 a_Vertex;
7+uniform mat3 u_TransformMatrix;
8+uniform mat3 u_ProjectionMatrix;
9+uniform vec2 u_Offset;
10+uniform vec2 u_Resolution;
11+uniform vec2 u_Center;
12+
13+void main()
14+{
15+ gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0);
16+ v_Position = a_Vertex.xy - u_Center;
17+ v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
18+ v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy;
19+}
20+
Top