| @@ -0,0 +1,34 @@ | |||
| 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 | + | attribute vec2 a_Vertex; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform vec2 u_Center; | |
| 11 | + | uniform float u_Time; | |
| 12 | + | ||
| 13 | + | vec2 effectTextureSize = vec2(288.0, 159.0); | |
| 14 | + | vec2 direction = vec2(1.0,0.2); | |
| 15 | + | float speed = 20.0; | |
| 16 | + | float angle = 30.0; | |
| 17 | + | ||
| 18 | + | vec2 rotate(vec2 v, float a) { | |
| 19 | + | float s = sin(a); | |
| 20 | + | float c = cos(a); | |
| 21 | + | mat2 m = mat2(c, -s, s, c); | |
| 22 | + | return m * v; | |
| 23 | + | } | |
| 24 | + | ||
| 25 | + | void main() | |
| 26 | + | { | |
| 27 | + | vec2 offset = direction * speed * u_Time; | |
| 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 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 31 | + | ||
| 32 | + | v_TexCoord3 = ((a_TexCoord + rotate(direction, (angle / 180.0) * 3.14) * u_Time * speed) / effectTextureSize); | |
| 33 | + | } | |
| 34 | + |
| @@ -0,0 +1,21 @@ | |||
| 1 | + | uniform float u_Depth; | |
| 2 | + | uniform mat4 u_Color; | |
| 3 | + | varying vec2 v_TexCoord; | |
| 4 | + | varying vec2 v_TexCoord2; | |
| 5 | + | varying vec2 v_TexCoord3; | |
| 6 | + | uniform sampler2D u_Tex0; | |
| 7 | + | uniform sampler2D u_Tex1; | |
| 8 | + | uniform float u_Time; | |
| 9 | + | ||
| 10 | + | void main() | |
| 11 | + | { | |
| 12 | + | gl_FragColor = texture2D(u_Tex0, v_TexCoord); | |
| 13 | + | ||
| 14 | + | vec4 effectColor = texture2D(u_Tex1, v_TexCoord3); | |
| 15 | + | ||
| 16 | + | vec4 c = vec4(effectColor.rgb, gl_FragColor.a); | |
| 17 | + | ||
| 18 | + | gl_FragColor.rgb = mix(gl_FragColor.rgb, c.rgb, c.rgb); | |
| 19 | + | ||
| 20 | + | if(gl_FragColor.a < 0.01) discard; | |
| 21 | + | } |
| @@ -0,0 +1,25 @@ | |||
| 1 | + | attribute vec2 a_TexCoord; | |
| 2 | + | attribute vec2 a_Vertex; | |
| 3 | + | uniform mat3 u_TextureMatrix; | |
| 4 | + | varying vec2 v_TexCoord; | |
| 5 | + | varying vec2 v_TexCoord2; | |
| 6 | + | varying vec2 v_TexCoord3; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform float u_Depth; | |
| 11 | + | uniform float u_Time; | |
| 12 | + | uniform float u_SpriteScale; | |
| 13 | + | ||
| 14 | + | vec2 effectTextureSize = vec2(64.0, 64.0); | |
| 15 | + | vec2 direction = vec2(1.0,1.0); | |
| 16 | + | float speed = 10.0; | |
| 17 | + | ||
| 18 | + | void main() | |
| 19 | + | { | |
| 20 | + | vec2 offset = direction * speed * u_Time; | |
| 21 | + | gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, u_Depth / 16384.0, 1.0); | |
| 22 | + | v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy; | |
| 23 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 24 | + | v_TexCoord3 = ((a_TexCoord + offset) / effectTextureSize); | |
| 25 | + | } |
| @@ -0,0 +1,16 @@ | |||
| 1 | + | uniform mat4 u_Color; | |
| 2 | + | varying vec2 v_TexCoord; | |
| 3 | + | varying vec2 v_TexCoord2; | |
| 4 | + | varying vec2 v_TexCoord3; | |
| 5 | + | uniform sampler2D u_Tex0; | |
| 6 | + | uniform sampler2D u_Tex1; | |
| 7 | + | void main() | |
| 8 | + | { | |
| 9 | + | gl_FragColor = texture2D(u_Tex0, v_TexCoord); | |
| 10 | + | vec4 texcolor = texture2D(u_Tex0, v_TexCoord2); | |
| 11 | + | vec4 effectColor = texture2D(u_Tex1, v_TexCoord3); | |
| 12 | + | if(texcolor.a > 0.1) { | |
| 13 | + | gl_FragColor *= effectColor; | |
| 14 | + | } | |
| 15 | + | if(gl_FragColor.a < 0.01) discard; | |
| 16 | + | } |
| @@ -0,0 +1,16 @@ | |||
| 1 | + | uniform mat4 u_Color; | |
| 2 | + | varying vec2 v_TexCoord; | |
| 3 | + | varying vec2 v_TexCoord2; | |
| 4 | + | varying vec2 v_TexCoord3; | |
| 5 | + | uniform sampler2D u_Tex0; | |
| 6 | + | uniform sampler2D u_Tex1; | |
| 7 | + | void main() | |
| 8 | + | { | |
| 9 | + | gl_FragColor = texture2D(u_Tex0, v_TexCoord); | |
| 10 | + | vec4 texcolor = texture2D(u_Tex0, v_TexCoord2); | |
| 11 | + | vec4 effectColor = texture2D(u_Tex1, v_TexCoord3); | |
| 12 | + | if(texcolor.a > 0.1) { | |
| 13 | + | gl_FragColor *= effectColor; | |
| 14 | + | } | |
| 15 | + | if(gl_FragColor.a < 0.01) discard; | |
| 16 | + | } |
| @@ -0,0 +1,47 @@ | |||
| 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 | + | attribute vec2 a_Vertex; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform vec2 u_Center; | |
| 11 | + | uniform float u_Time; | |
| 12 | + | ||
| 13 | + | vec2 effectTextureSize = vec2(466.0, 342.0); | |
| 14 | + | vec2 direction = vec2(1.0,0.2); | |
| 15 | + | float speed = 200.0; | |
| 16 | + | ||
| 17 | + | vec2 rotate(vec2 v, float a) { | |
| 18 | + | float s = sin(a); | |
| 19 | + | float c = cos(a); | |
| 20 | + | mat2 m = mat2(c, -s, s, c); | |
| 21 | + | return m * v; | |
| 22 | + | } | |
| 23 | + | ||
| 24 | + | void main() | |
| 25 | + | { | |
| 26 | + | vec2 offset = direction * speed * u_Time; | |
| 27 | + | gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0); | |
| 28 | + | v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy; | |
| 29 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 30 | + | ||
| 31 | + | vec2 vertex = a_Vertex; | |
| 32 | + | if(vertex.x < u_Center.x) { | |
| 33 | + | vertex.x = effectTextureSize.x / 10.0; | |
| 34 | + | } | |
| 35 | + | if(vertex.x > u_Center.x) { | |
| 36 | + | vertex.x = effectTextureSize.x - effectTextureSize.x / 10.0; | |
| 37 | + | } | |
| 38 | + | if(vertex.y < u_Center.y) { | |
| 39 | + | vertex.y = effectTextureSize.y / 10.0; | |
| 40 | + | } | |
| 41 | + | if(vertex.y > u_Center.y) { | |
| 42 | + | vertex.y = effectTextureSize.y - effectTextureSize.y / 10.0; | |
| 43 | + | } | |
| 44 | + | ||
| 45 | + | v_TexCoord3 = ((vertex + direction * u_Time * speed) / effectTextureSize); | |
| 46 | + | } | |
| 47 | + |
| @@ -0,0 +1,32 @@ | |||
| 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 | + | attribute vec2 a_Vertex; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform vec2 u_Center; | |
| 11 | + | uniform float u_Time; | |
| 12 | + | ||
| 13 | + | vec2 effectTextureSize = vec2(466.0, 342.0); | |
| 14 | + | vec2 direction = vec2(1.0,0.2); | |
| 15 | + | float speed = 600.0; | |
| 16 | + | ||
| 17 | + | vec2 rotate(vec2 v, float a) { | |
| 18 | + | float s = sin(a); | |
| 19 | + | float c = cos(a); | |
| 20 | + | mat2 m = mat2(c, -s, s, c); | |
| 21 | + | return m * v; | |
| 22 | + | } | |
| 23 | + | ||
| 24 | + | void main() | |
| 25 | + | { | |
| 26 | + | vec2 offset = direction * speed * u_Time; | |
| 27 | + | gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0); | |
| 28 | + | v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy; | |
| 29 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 30 | + | v_TexCoord3 = ((a_TexCoord.xy + direction * u_Time * speed) / effectTextureSize); | |
| 31 | + | } | |
| 32 | + |
| @@ -0,0 +1,21 @@ | |||
| 1 | + | uniform float u_Depth; | |
| 2 | + | uniform mat4 u_Color; | |
| 3 | + | varying vec2 v_TexCoord; | |
| 4 | + | varying vec2 v_TexCoord2; | |
| 5 | + | varying vec2 v_TexCoord3; | |
| 6 | + | uniform sampler2D u_Tex0; | |
| 7 | + | uniform sampler2D u_Tex1; | |
| 8 | + | uniform float u_Time; | |
| 9 | + | ||
| 10 | + | void main() | |
| 11 | + | { | |
| 12 | + | gl_FragColor = texture2D(u_Tex0, v_TexCoord); | |
| 13 | + | ||
| 14 | + | vec4 effectColor = texture2D(u_Tex1, v_TexCoord3); | |
| 15 | + | ||
| 16 | + | vec4 c = vec4(effectColor.rgb, gl_FragColor.a); | |
| 17 | + | ||
| 18 | + | gl_FragColor.rgb = mix(gl_FragColor.rgb, c.rgb, c.rgb); | |
| 19 | + | ||
| 20 | + | if(gl_FragColor.a < 0.01) discard; | |
| 21 | + | } |
| @@ -0,0 +1,25 @@ | |||
| 1 | + | attribute vec2 a_TexCoord; | |
| 2 | + | attribute vec2 a_Vertex; | |
| 3 | + | uniform mat3 u_TextureMatrix; | |
| 4 | + | varying vec2 v_TexCoord; | |
| 5 | + | varying vec2 v_TexCoord2; | |
| 6 | + | varying vec2 v_TexCoord3; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform float u_Depth; | |
| 11 | + | uniform float u_Time; | |
| 12 | + | uniform float u_SpriteScale; | |
| 13 | + | ||
| 14 | + | vec2 effectTextureSize = vec2(64.0, 64.0); | |
| 15 | + | vec2 direction = vec2(1.0,1.0); | |
| 16 | + | float speed = 10.0; | |
| 17 | + | ||
| 18 | + | void main() | |
| 19 | + | { | |
| 20 | + | vec2 offset = direction * speed * u_Time; | |
| 21 | + | gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, u_Depth / 16384.0, 1.0); | |
| 22 | + | v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy; | |
| 23 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 24 | + | v_TexCoord3 = ((a_TexCoord + offset) / effectTextureSize); | |
| 25 | + | } |
| @@ -0,0 +1,28 @@ | |||
| 1 | + | uniform float u_Depth; | |
| 2 | + | uniform mat4 u_Color; | |
| 3 | + | varying vec2 v_TexCoord; | |
| 4 | + | varying vec2 v_TexCoord2; | |
| 5 | + | varying vec2 v_TexCoord3; | |
| 6 | + | uniform sampler2D u_Tex0; | |
| 7 | + | uniform sampler2D u_Tex1; | |
| 8 | + | uniform float u_Time; | |
| 9 | + | ||
| 10 | + | void main() | |
| 11 | + | { | |
| 12 | + | gl_FragColor = texture2D(u_Tex0, v_TexCoord); | |
| 13 | + | vec4 texcolor = texture2D(u_Tex0, v_TexCoord2); | |
| 14 | + | ||
| 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 | + | ||
| 23 | + | vec4 effectColor = texture2D(u_Tex1, v_TexCoord3); | |
| 24 | + | vec4 c = vec4(effectColor.rgb, gl_FragColor.a); | |
| 25 | + | c.rgb *= vec3(3.0, 0.0, 0.0); | |
| 26 | + | gl_FragColor.rgb = mix(gl_FragColor.rgb, c.rgb, c.rgb); | |
| 27 | + | if(gl_FragColor.a < 0.01) discard; | |
| 28 | + | } |
| @@ -0,0 +1,25 @@ | |||
| 1 | + | attribute vec2 a_TexCoord; | |
| 2 | + | attribute vec2 a_Vertex; | |
| 3 | + | uniform mat3 u_TextureMatrix; | |
| 4 | + | varying vec2 v_TexCoord; | |
| 5 | + | varying vec2 v_TexCoord2; | |
| 6 | + | varying vec2 v_TexCoord3; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform float u_Depth; | |
| 11 | + | uniform float u_Time; | |
| 12 | + | uniform float u_SpriteScale; | |
| 13 | + | ||
| 14 | + | vec2 effectTextureSize = vec2(64.0, 64.0); | |
| 15 | + | vec2 direction = vec2(1.0,1.0); | |
| 16 | + | float speed = 10.0; | |
| 17 | + | ||
| 18 | + | void main() | |
| 19 | + | { | |
| 20 | + | vec2 offset = direction * speed * u_Time; | |
| 21 | + | gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, u_Depth / 16384.0, 1.0); | |
| 22 | + | v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy; | |
| 23 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 24 | + | v_TexCoord3 = ((a_TexCoord + offset) / effectTextureSize); | |
| 25 | + | } |
| @@ -0,0 +1,42 @@ | |||
| 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 | + | uniform float u_spriteSize; | |
| 10 | + | ||
| 11 | + | float line_thickness = 0.5; | |
| 12 | + | ||
| 13 | + | void 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 | + | } |
| @@ -0,0 +1,16 @@ | |||
| 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 | + | } | |
| 16 | + |
| @@ -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.5 + abs(0.5 - mod(u_Time, 1.0)), 1.0, 1.0, 1.0); | |
| 25 | + | } else { | |
| 26 | + | discard; | |
| 27 | + | } | |
| 28 | + | } | |
| 29 | + | } |
| @@ -0,0 +1,21 @@ | |||
| 1 | + | uniform float u_Depth; | |
| 2 | + | uniform mat4 u_Color; | |
| 3 | + | varying vec2 v_TexCoord; | |
| 4 | + | varying vec2 v_TexCoord2; | |
| 5 | + | varying vec2 v_TexCoord3; | |
| 6 | + | uniform sampler2D u_Tex0; | |
| 7 | + | uniform sampler2D u_Tex1; | |
| 8 | + | uniform float u_Time; | |
| 9 | + | ||
| 10 | + | void main() | |
| 11 | + | { | |
| 12 | + | gl_FragColor = texture2D(u_Tex0, v_TexCoord); | |
| 13 | + | ||
| 14 | + | vec4 effectColor = texture2D(u_Tex1, v_TexCoord3); | |
| 15 | + | ||
| 16 | + | vec4 c = vec4(effectColor.rgb, gl_FragColor.a); | |
| 17 | + | ||
| 18 | + | gl_FragColor.rgb = mix(gl_FragColor.rgb, c.rgb, c.rgb); | |
| 19 | + | ||
| 20 | + | if(gl_FragColor.a < 0.01) discard; | |
| 21 | + | } |
| @@ -0,0 +1,25 @@ | |||
| 1 | + | attribute vec2 a_TexCoord; | |
| 2 | + | attribute vec2 a_Vertex; | |
| 3 | + | uniform mat3 u_TextureMatrix; | |
| 4 | + | varying vec2 v_TexCoord; | |
| 5 | + | varying vec2 v_TexCoord2; | |
| 6 | + | varying vec2 v_TexCoord3; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform float u_Depth; | |
| 11 | + | uniform float u_Time; | |
| 12 | + | uniform float u_SpriteScale; | |
| 13 | + | ||
| 14 | + | vec2 effectTextureSize = vec2(800.0, 530.0); | |
| 15 | + | vec2 direction = vec2(0.5,1.0); | |
| 16 | + | float speed = 50.0; | |
| 17 | + | ||
| 18 | + | void main() | |
| 19 | + | { | |
| 20 | + | vec2 offset = direction * speed * u_Time; | |
| 21 | + | gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, u_Depth / 16384.0, 1.0); | |
| 22 | + | v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy; | |
| 23 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 24 | + | v_TexCoord3 = ((a_TexCoord + offset) / effectTextureSize); | |
| 25 | + | } |
| @@ -0,0 +1,21 @@ | |||
| 1 | + | uniform float u_Depth; | |
| 2 | + | uniform mat4 u_Color; | |
| 3 | + | varying vec2 v_TexCoord; | |
| 4 | + | varying vec2 v_TexCoord2; | |
| 5 | + | varying vec2 v_TexCoord3; | |
| 6 | + | uniform sampler2D u_Tex0; | |
| 7 | + | uniform sampler2D u_Tex1; | |
| 8 | + | uniform float u_Time; | |
| 9 | + | ||
| 10 | + | void main() | |
| 11 | + | { | |
| 12 | + | gl_FragColor = texture2D(u_Tex0, v_TexCoord); | |
| 13 | + | ||
| 14 | + | vec4 effectColor = texture2D(u_Tex1, v_TexCoord3); | |
| 15 | + | ||
| 16 | + | vec4 c = vec4(effectColor.rgb, gl_FragColor.a); | |
| 17 | + | ||
| 18 | + | gl_FragColor.rgb = mix(gl_FragColor.rgb, c.rgb, c.rgb); | |
| 19 | + | ||
| 20 | + | if(gl_FragColor.a < 0.01) discard; | |
| 21 | + | } |
| @@ -0,0 +1,25 @@ | |||
| 1 | + | attribute vec2 a_TexCoord; | |
| 2 | + | attribute vec2 a_Vertex; | |
| 3 | + | uniform mat3 u_TextureMatrix; | |
| 4 | + | varying vec2 v_TexCoord; | |
| 5 | + | varying vec2 v_TexCoord2; | |
| 6 | + | varying vec2 v_TexCoord3; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform float u_Depth; | |
| 11 | + | uniform float u_Time; | |
| 12 | + | uniform float u_SpriteScale; | |
| 13 | + | ||
| 14 | + | vec2 effectTextureSize = vec2(64.0, 64.0); | |
| 15 | + | vec2 direction = vec2(1.0,1.0); | |
| 16 | + | float speed = 10.0; | |
| 17 | + | ||
| 18 | + | void main() | |
| 19 | + | { | |
| 20 | + | vec2 offset = direction * speed * u_Time; | |
| 21 | + | gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, u_Depth / 16384.0, 1.0); | |
| 22 | + | v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy; | |
| 23 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 24 | + | v_TexCoord3 = ((a_TexCoord + offset) / effectTextureSize); | |
| 25 | + | } |
| @@ -0,0 +1,20 @@ | |||
| 1 | + | uniform float u_Time; | |
| 2 | + | uniform sampler2D u_Tex0; | |
| 3 | + | varying vec2 v_TexCoord; | |
| 4 | + | ||
| 5 | + | void main() | |
| 6 | + | { | |
| 7 | + | vec4 col = texture2D(u_Tex0, v_TexCoord); | |
| 8 | + | ||
| 9 | + | ||
| 10 | + | // Rotating spiral pattern | |
| 11 | + | float rotationSpeed = 0.5; | |
| 12 | + | float spiralIntensity = 1.5; | |
| 13 | + | float angle = u_Time * rotationSpeed; | |
| 14 | + | float radius = length(v_TexCoord - 0.5); | |
| 15 | + | float spiralOffset = spiralIntensity * sin(radius * 10.0 - angle); | |
| 16 | + | vec3 spiralColor = vec3(spiralOffset, spiralOffset, spiralOffset); | |
| 17 | + | col.rgb += spiralColor; | |
| 18 | + | ||
| 19 | + | gl_FragColor = col; | |
| 20 | + | } |
| @@ -0,0 +1,16 @@ | |||
| 1 | + | uniform mat4 u_Color; | |
| 2 | + | varying vec2 v_TexCoord; | |
| 3 | + | varying vec2 v_TexCoord2; | |
| 4 | + | varying vec2 v_TexCoord3; | |
| 5 | + | uniform sampler2D u_Tex0; | |
| 6 | + | uniform sampler2D u_Tex1; | |
| 7 | + | void main() | |
| 8 | + | { | |
| 9 | + | gl_FragColor = texture2D(u_Tex0, v_TexCoord); | |
| 10 | + | vec4 texcolor = texture2D(u_Tex0, v_TexCoord2); | |
| 11 | + | vec4 effectColor = texture2D(u_Tex1, v_TexCoord3); | |
| 12 | + | if(texcolor.a > 0.9) { | |
| 13 | + | gl_FragColor *= effectColor * 2.0; | |
| 14 | + | } | |
| 15 | + | if(gl_FragColor.a < 0.01) discard; | |
| 16 | + | } |
| @@ -0,0 +1,24 @@ | |||
| 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 | + | attribute vec2 a_Vertex; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform float u_Time; | |
| 11 | + | ||
| 12 | + | vec2 effectTextureSize = vec2(221.0, 212.0); | |
| 13 | + | vec2 direction = vec2(1.0,1.0); | |
| 14 | + | float speed = 10.0; | |
| 15 | + | ||
| 16 | + | void main() | |
| 17 | + | { | |
| 18 | + | vec2 offset = direction * speed * u_Time; | |
| 19 | + | gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0); | |
| 20 | + | v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy; | |
| 21 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 22 | + | v_TexCoord3 = ((a_TexCoord + offset) / effectTextureSize); | |
| 23 | + | } | |
| 24 | + |
| @@ -0,0 +1,16 @@ | |||
| 1 | + | uniform mat4 u_Color; | |
| 2 | + | varying vec2 v_TexCoord; | |
| 3 | + | varying vec2 v_TexCoord2; | |
| 4 | + | varying vec2 v_TexCoord3; | |
| 5 | + | uniform sampler2D u_Tex0; | |
| 6 | + | uniform sampler2D u_Tex1; | |
| 7 | + | void main() | |
| 8 | + | { | |
| 9 | + | gl_FragColor = texture2D(u_Tex0, v_TexCoord); | |
| 10 | + | vec4 texcolor = texture2D(u_Tex0, v_TexCoord2); | |
| 11 | + | vec4 effectColor = texture2D(u_Tex1, v_TexCoord3); | |
| 12 | + | if(texcolor.a > 0.9) { | |
| 13 | + | gl_FragColor *= effectColor * 2.0; | |
| 14 | + | } | |
| 15 | + | if(gl_FragColor.a < 0.01) discard; | |
| 16 | + | } |
| @@ -0,0 +1,24 @@ | |||
| 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 | + | attribute vec2 a_Vertex; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform float u_Time; | |
| 11 | + | ||
| 12 | + | vec2 effectTextureSize = vec2(500.0, 474.0); | |
| 13 | + | vec2 direction = vec2(1.0,1.0); | |
| 14 | + | float speed = 7.0; | |
| 15 | + | ||
| 16 | + | void main() | |
| 17 | + | { | |
| 18 | + | vec2 offset = direction * speed * u_Time; | |
| 19 | + | gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1, 1); | |
| 20 | + | v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy; | |
| 21 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 22 | + | v_TexCoord3 = ((a_TexCoord + offset) / effectTextureSize); | |
| 23 | + | } | |
| 24 | + |
| @@ -0,0 +1,16 @@ | |||
| 1 | + | uniform mat4 u_Color; | |
| 2 | + | varying vec2 v_TexCoord; | |
| 3 | + | varying vec2 v_TexCoord2; | |
| 4 | + | varying vec2 v_TexCoord3; | |
| 5 | + | uniform sampler2D u_Tex0; | |
| 6 | + | uniform sampler2D u_Tex1; | |
| 7 | + | void main() | |
| 8 | + | { | |
| 9 | + | gl_FragColor = texture2D(u_Tex0, v_TexCoord); | |
| 10 | + | vec4 texcolor = texture2D(u_Tex0, v_TexCoord2); | |
| 11 | + | vec4 effectColor = texture2D(u_Tex1, v_TexCoord3); | |
| 12 | + | if(texcolor.a > 0.9) { | |
| 13 | + | gl_FragColor *= effectColor * 2.0; | |
| 14 | + | } | |
| 15 | + | if(gl_FragColor.a < 0.01) discard; | |
| 16 | + | } |
| @@ -0,0 +1,24 @@ | |||
| 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 | + | attribute vec2 a_Vertex; | |
| 7 | + | uniform mat3 u_TransformMatrix; | |
| 8 | + | uniform mat3 u_ProjectionMatrix; | |
| 9 | + | uniform vec2 u_Offset; | |
| 10 | + | uniform float u_Time; | |
| 11 | + | ||
| 12 | + | vec2 effectTextureSize = vec2(420.0, 420.0); | |
| 13 | + | vec2 direction = vec2(1.0,1.0); | |
| 14 | + | float speed = 5.0; | |
| 15 | + | ||
| 16 | + | void main() | |
| 17 | + | { | |
| 18 | + | vec2 offset = direction * speed * u_Time; | |
| 19 | + | gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1, 1); | |
| 20 | + | v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy; | |
| 21 | + | v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy; | |
| 22 | + | v_TexCoord3 = ((a_TexCoord + offset) / effectTextureSize); | |
| 23 | + | } | |
| 24 | + |