scripts reorganize

This commit is contained in:
2026-10-06 22:38:28 +02:00
parent 0734bee219
commit d6674ac55d
14 changed files with 2 additions and 59 deletions

View File

@@ -0,0 +1,48 @@
//modified version of [this shader](https://github.com/wessles/GLSL-CRT/blob/master/shader.frag)
const vec3 VIB_RGB_BALANCE = vec3(1.0, 1.0, 1.0);
const float VIB_VIBRANCE = 0.40;
const vec3 VIB_coeffVibrance = VIB_RGB_BALANCE * -VIB_VIBRANCE;
void windowShader(inout vec4 color) {
vec2 texCoord = x_TexCoord;
// Distance from the center
float dx = abs(0.5-texCoord.x);
float dy = abs(0.5-texCoord.y);
// Square it to smooth the edges
dx *= dx;
dy *= dy;
texCoord.x -= 0.5;
texCoord.x *= 1.0 + (dy * 0.05);
texCoord.x += 0.5;
texCoord.y -= 0.5;
texCoord.y *= 1.0 + (dx * 0.18);
texCoord.y += 0.5;
// Get texel, and add in scanline if need be
color = x_Texture(texCoord);
color.rgb += sin(texCoord.y * 1250.0) * 0.02;
// Cutoff
if(texCoord.y > 1.0 || texCoord.x < 0.0 || texCoord.x > 1.0 || texCoord.y < 0.0)
color = vec4(0.0);
// vec3 VIB_coefLuma = vec3(0.333333, 0.333334, 0.333333); // was for `if VIB_LUMA == 1`
vec3 VIB_coefLuma = vec3(0.212656, 0.715158, 0.072186); // try both and see which one looks nicer.
float luma = dot(VIB_coefLuma, color.rgb);
float max_color = max(color.r, max(color.g, color.b));
float min_color = min(color.r, min(color.g, color.b));
float color_saturation = max_color - min_color;
vec3 p_col = vec3(vec3(vec3(vec3(sign(VIB_coeffVibrance) * color_saturation) - 1.0) * VIB_coeffVibrance) + 1.0);
color.r = mix(luma, color.r, p_col.r);
color.g = mix(luma, color.g, p_col.g);
color.b = mix(luma, color.b, p_col.b);
}

View File

@@ -0,0 +1,7 @@
// blue light filter shader
void windowShader(inout vec4 color) {
color.r *= 0.7;
color.g *= 0.6;
color.b *= 0.5;
}

View File

@@ -0,0 +1,9 @@
// Values obtained from: http://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems
vec3 LumaFactors = vec3(0.299, 0.587, 0.114);
void windowShader(inout vec4 color) {
// Desaturate to luma only
float luma = dot(vec3(color.r, color.g, color.b), LumaFactors);
color.rgb = vec3(luma, luma, luma);
}

View File

@@ -0,0 +1,17 @@
const float display_framerate = 60.0;
const vec2 display_resolution = vec2(2520.0, 1680.0);
const float gamma = 1.0;
float rand(vec2 uv, float t) {
return fract(sin(dot(uv, vec2(1225.6548, 321.8942))) * 4251.4865 + t);
}
float Sigmoid(float x) { return 1.0 / (1.0 + (exp(-(x - 0.5) * 14.0))); }
void windowShader(inout vec4 color) {
color = vec4(Sigmoid(color.r), Sigmoid(color.g), Sigmoid(color.b), 1.0);
color = pow(color, vec4(gamma));
color.a = 1.0;
}

View File

@@ -0,0 +1,9 @@
// Values obtained from: http://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems
vec3 LumaFactors = vec3(0.299, 0.587, 0.114);
void windowShader(inout vec4 color) {
// Desaturate to luma only
float luma = dot(vec3(color.r, color.g, color.b), LumaFactors);
color.rgb = vec3(luma, luma, luma);
}

View File

@@ -0,0 +1,14 @@
// Values obtained from: http://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems
vec3 LumaFactors = vec3(0.299, 0.587, 0.114);
void windowShader(inout vec4 color) {
// average brightness
float luma = dot(vec3(color.r, color.g, color.b), LumaFactors);
if (color.r < color.g) {
color = vec4(luma, c.g, luma, color.a);
} else {
color = vec4(color.r, luma, luma, color.a);
}
// color = vec4(color.r, color.g, luma, color.a);
}

View File

@@ -0,0 +1,14 @@
// Values obtained from: http://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems
vec3 LumaFactors = vec3(0.299, 0.587, 0.114);
void windowShader(inout vec4 color) {
// average brightness
float luma = dot(vec3(color.r, color.g, color.b), LumaFactors);
if (color.r < color.b) {
color = vec4(luma, luma, color.b, color.a);
} else {
color = vec4(color.r, luma, luma, color.a);
}
// color = vec4(color.r, luma, color.b, color.a);
}

View File

@@ -0,0 +1,14 @@
// Values obtained from: http://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems
vec3 LumaFactors = vec3(0.299, 0.587, 0.114);
void windowShader(inout vec4 color) {
// average brightness
float luma = dot(vec3(color.r, color.g, color.b), LumaFactors);
if (color.g < color.b) {
color = vec4(luma, luma, color.b, color.a);
} else {
color = vec4(luma, color.g, luma, color.a);
}
// color = vec4(luma, color.g, color.b, color.a);
}

View File

@@ -0,0 +1,9 @@
//modified version of [this shader](https://github.com/wessles/GLSL-CRT/blob/master/shader.frag)
const float scaleFactor = 0.7;
void windowShader(inout vec4 color) {
// color += vec4(cos(x_TexCoord.x)/4., sin(x_TexCoord.y)/4., 0., 1.);
color += vec4(cos(v_texcoord.x)/4., cos(v_texcoord.y)/8., sin(v_texcoord.y)/4., 1.);
color = vec4(clamp(color.x, 0., 1.), clamp(color.y, 0., 1.), clamp(color.z, 0., 1.), color.w);
}

View File

@@ -0,0 +1,5 @@
//modified version of [this shader](https://github.com/wessles/GLSL-CRT/blob/master/shader.frag)
void windowShader(inout vec4 color) {
color = vec4(color.z, color.y, color.x, color.a);
}