Callback
(v2)→(v3)
callback
sampleColor
v2
uv
v3
return
uniform sampler2D dataTexture; vec3 sample2D(vec2 uv) { return texture2D(dataTexture, uv).rgb; }
sepiaColor
v3
color
v3
return
vec3 sepiaColor(vec3 color) { return vec3( (color.r * 0.393) + (color.g * 0.769) + (color.b * 0.189), (color.r * 0.349) + (color.g * 0.686) + (color.b * 0.168), (color.r * 0.272) + (color.g * 0.534) + (color.b * 0.131) ); }
invertColor
v3
color
v3
return
vec3 invertColor(vec3 color) { return 1.0 - color; }
combineColors
v3
a
v3
b
v3
return
vec3 blendColors(vec3 a, vec3 b) { return mix(a, b, .5); }
convolveColor
(v2)→(v3)
getColor
uniform vec2 resolution; varying vec2 vUV; vec3 getColor(vec2 uv); void blurColor() { vec3 blend = 0.25 * ( getColor(uv + vec2(-1.0, -1.0) * resolution) + getColor(uv + vec2(-1.0, 1.0) * resolution) + getColor(uv + vec2( 1.0, -1.0) * resolution) + getColor(uv + vec2( 1.0, 1.0) * resolution) ); gl_FragColor = vec4(blend, 1.0); }