blur1DShader9 top-level property
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;
}
"""
]);