feat: crt/vignette/chromatic-aberration/pixelate shader + dynamischer F10-cycle
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
#version 300 es
|
||||
precision highp float;
|
||||
|
||||
in vec2 v_texcoord;
|
||||
uniform sampler2D tex;
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
float offset = 0.004;
|
||||
|
||||
float r = texture(tex, v_texcoord + vec2( offset, 0.0)).r;
|
||||
float g = texture(tex, v_texcoord ).g;
|
||||
float b = texture(tex, v_texcoord - vec2( offset, 0.0)).b;
|
||||
float a = texture(tex, v_texcoord).a;
|
||||
|
||||
fragColor = vec4(r, g, b, a);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
#version 300 es
|
||||
precision highp float;
|
||||
|
||||
in vec2 v_texcoord;
|
||||
uniform sampler2D tex;
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 c = texture(tex, v_texcoord);
|
||||
|
||||
// Scanlines: jede zweite Zeile leicht abdunkeln
|
||||
float scanline = mod(floor(v_texcoord.y * 1000.0), 2.0);
|
||||
c.rgb *= 1.0 - scanline * 0.25;
|
||||
|
||||
// Leichte Vignette für den Röhren-Look
|
||||
vec2 uv = v_texcoord - 0.5;
|
||||
c.rgb *= 1.0 - dot(uv, uv) * 1.2;
|
||||
|
||||
fragColor = c;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
#version 300 es
|
||||
precision highp float;
|
||||
|
||||
in vec2 v_texcoord;
|
||||
uniform sampler2D tex;
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
float pixelSize = 0.005;
|
||||
vec2 uv = floor(v_texcoord / pixelSize) * pixelSize;
|
||||
fragColor = texture(tex, uv);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
#version 300 es
|
||||
precision highp float;
|
||||
|
||||
in vec2 v_texcoord;
|
||||
uniform sampler2D tex;
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 c = texture(tex, v_texcoord);
|
||||
|
||||
vec2 uv = v_texcoord - 0.5;
|
||||
float vignette = 1.0 - dot(uv, uv) * 2.2;
|
||||
c.rgb *= clamp(vignette, 0.0, 1.0);
|
||||
|
||||
fragColor = c;
|
||||
}
|
||||
Reference in New Issue
Block a user