runnable fragment
code snippet
precision mediump float;
varying vec2 v_texCoord;
uniform sampler2D u_texture;
uniform vec2 u_resolution;
uniform int u_palette; // 0=CGA1, 1=CGA2, 2=EGA, 3=GameBoy
uniform float u_pixelate; // block size (1-16)
vec3 pal(float l, int p) {
if (p == 0) {
if (l < 0.33) return vec3(0, 0, 0);
if (l < 0.66) return vec3(0, 1, 1);
return vec3(1, 0, 1);
}
if (p == 1) {