neser 1.2.0

NESER - Nintendo Emulation Systems Engine (Rust). Desktop and WebAssembly frontends.
Documentation
varying vec2 v_texCoord;
varying vec2 v_texel;
varying vec2 v_lowerBound;
varying vec2 v_upperBound;
uniform sampler2D u_texture;

void main() {
    float w0 = 0.13465834;
    float w1 = 0.13051534;
    float w2 = 0.11883558;
    float w3 = 0.10164547;
    float w4 = 0.08167444;
    vec4 col = texture2D(u_texture, clamp(v_texCoord, v_lowerBound, v_upperBound)) * w0;
    col.a += texture2D(u_texture, clamp(v_texCoord + vec2( 1.0 * v_texel.x, 0.0), v_lowerBound, v_upperBound)).a * w1;
    col.a += texture2D(u_texture, clamp(v_texCoord + vec2(-1.0 * v_texel.x, 0.0), v_lowerBound, v_upperBound)).a * w1;
    col.a += texture2D(u_texture, clamp(v_texCoord + vec2( 2.0 * v_texel.x, 0.0), v_lowerBound, v_upperBound)).a * w2;
    col.a += texture2D(u_texture, clamp(v_texCoord + vec2(-2.0 * v_texel.x, 0.0), v_lowerBound, v_upperBound)).a * w2;
    col.a += texture2D(u_texture, clamp(v_texCoord + vec2( 3.0 * v_texel.x, 0.0), v_lowerBound, v_upperBound)).a * w3;
    col.a += texture2D(u_texture, clamp(v_texCoord + vec2(-3.0 * v_texel.x, 0.0), v_lowerBound, v_upperBound)).a * w3;
    col.a += texture2D(u_texture, clamp(v_texCoord + vec2( 4.0 * v_texel.x, 0.0), v_lowerBound, v_upperBound)).a * w4;
    col.a += texture2D(u_texture, clamp(v_texCoord + vec2(-4.0 * v_texel.x, 0.0), v_lowerBound, v_upperBound)).a * w4;
    gl_FragColor = col;
}