outfit_reo_frag.frag

main 43 lines · 1.4 KB Raw
Alex Alex Commit Client Upload Part 1 19/10/2026 00:04
1uniform mat4 u_Color;
2varying vec2 v_TexCoord;
3varying vec2 v_TexCoord2;
4varying vec2 v_TexCoord3;
5varying vec2 v_Position;
6uniform sampler2D u_Tex0;
7uniform float u_Time;
8uniform vec2 u_Resolution;
9uniform float u_spriteSize;
10
11float line_thickness = 0.5;
12
13void main()
14{
15 vec2 size = line_thickness * vec2(1.0 / 512.0, 1.0 / 512.0);
16
17 float outline = texture2D(u_Tex0, v_TexCoord + vec2(-size.x, 0)).a;
18 outline += texture2D(u_Tex0, v_TexCoord + vec2(0, size.y)).a;
19 outline += texture2D(u_Tex0, v_TexCoord + vec2(size.x, 0)).a;
20 outline += texture2D(u_Tex0, v_TexCoord + vec2(0, -size.y)).a;
21 outline += texture2D(u_Tex0, v_TexCoord + vec2(-size.x, size.y)).a;
22 outline += texture2D(u_Tex0, v_TexCoord + vec2(size.x, size.y)).a;
23 outline += texture2D(u_Tex0, v_TexCoord + vec2(-size.x, -size.y)).a;
24 outline += texture2D(u_Tex0, v_TexCoord + vec2(size.x, -size.y)).a;
25 outline = min(outline, 1.0);
26
27 vec4 outline_colour;
28 // Change the color to white and orange
29 outline_colour.r = 1.0; // White
30 outline_colour.g = 0.5 + 0.5 * sin(u_Time); // Orange
31 outline_colour.b = 0.2; // Dark Orange
32 outline_colour.a = 1.0;
33
34 // Introduce an orange wavy pattern effect
35 float wave = sin(u_Time + v_TexCoord.x * 10.0);
36 outline_colour.rgb += wave * 0.1;
37
38 gl_FragColor = texture2D(u_Tex0, v_TexCoord);
39 gl_FragColor = mix(gl_FragColor, outline_colour, outline - gl_FragColor.a);
40
41 if (gl_FragColor.a < 0.01) discard;
42}
43
Top