blur1DShader9 top-level property

ShaderObject blur1DShader9
final

Implementation

final ShaderObject blur1DShader9 = ShaderObject("blurF")
  ..AddUniformVars([uTexture, uDirection])
  ..SetBody([
    """
void main() {
    vec4 sum = vec4(0.0);
    vec2 c = gl_FragCoord.xy;
    vec2 d = ${uDirection};
    sum  += texelFetch(${uTexture}, ivec2(c - 4.0 * d), 0) * 0.0510;
    sum  += texelFetch(${uTexture}, ivec2(c - 3.0 * d), 0) * 0.0918;
    sum  += texelFetch(${uTexture}, ivec2(c - 2.0 * d), 0) * 0.1224;
    sum  += texelFetch(${uTexture}, ivec2(c - 1.0 * d), 0) * 0.1531;
    sum  += texelFetch(${uTexture}, ivec2(c)          , 0) * 0.1633;
    sum  += texelFetch(${uTexture}, ivec2(c + 1.0 * d), 0) * 0.1531;
    sum  += texelFetch(${uTexture}, ivec2(c + 2.0 * d), 0) * 0.1224;
    sum  += texelFetch(${uTexture}, ivec2(c + 3.0 * d), 0) * 0.0918;
    sum  += texelFetch(${uTexture}, ivec2(c + 4.0 * d), 0) * 0.0510;
    ${oFragColor} = sum;
}
"""
  ]);