14 lines
551 B
GLSL
14 lines
551 B
GLSL
#version 130
|
|
|
|
uniform sampler2D t0;
|
|
uniform vec2 vsize;
|
|
|
|
const vec3 luma = vec3(0.299, 0.587, 0.114);
|
|
|
|
void main(void) {
|
|
vec2 tc = gl_TexCoord[0].xy;//, dt = 1. / vsize;
|
|
vec3 dc0 = texture2D(t0, tc).rgb, dc1 = textureOffset(t0, tc, ivec2(1, 0)).rgb, dc2 = textureOffset(t0, tc, ivec2(0, 1)).rgb, dc3 = textureOffset(t0, tc, ivec2(1, 1)).rgb;
|
|
float l0 = dot(dc0, luma), l1 = dot(dc1, luma), l2 = dot(dc2, luma), l3 = dot(dc3, luma);
|
|
gl_FragColor.rgb = vec3(max(max(max(l0, l1), l2), l3), min(min(min(l0, l1), l2), l3), (l0 + l1 + l2 + l3) / 4.);
|
|
}
|