Added new manipulative shaders

This commit is contained in:
Digital Artifex
2025-10-18 08:44:35 -04:00
parent 54a8d7c58c
commit 5aa83c67e7
90 changed files with 3074 additions and 5 deletions

View File

@@ -0,0 +1,34 @@
// https://www.shadertoy.com/view/XlSBzm
// by Nikos Papadopoulos, 4rknova / 2018
// Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
#define LUM vec3(.2126, .7152, .0722)
// Configuration
#define CHROMA_KEY
#define CHROMA_BIAS (00.13)
#define BGCOLOR vec3(0.03, 0.1, 0.2)
#define GRID_SIZE (35.0)
#define BIAS (10.0)
#define SCALE (32.0)
void mainImage(out vec4 color, in vec2 fragc)
{
// Aspect corrected grid size.
vec2 gridsz = GRID_SIZE * vec2(iResolution.x/iResolution.y, 1);
// Grid coordinates with half a unit offset to sample
// the center of the cell.
vec2 pc = fragc.xy / iResolution.xy * gridsz;
vec2 cl = floor(pc)+0.5;
vec3 col = texture(iChannel0, cl / gridsz).rgb;
// Calculate the sample's distance from the cell center.
float dst = pow(1. - length(pc - cl), BIAS) * SCALE;
float lum = dot(LUM, col.rgb); // luminance
#ifdef CHROMA_KEY
if (lum > max(col.r, col.b) + CHROMA_BIAS) col = BGCOLOR;
#endif /* CHROMA_KEY */
color = vec4(mix(BGCOLOR, col, min(1., dst*lum)), 1);
}