    float tx1 = rad * dx;
    float tx2 = tx1 * 0.5;
    float ty = rad * 0.5 * sqrt(3.0) * dy;
    vec3 cp1 = texture2D(tex0, texCoords).rgb;
    vec3 cp2 = texture2D(tex0, texCoords + vec2(tx1, 0.0)).rgb;
    vec3 cp3 = texture2D(tex0, texCoords + vec2(tx2, ty)).rgb;
    vec3 cp4 = texture2D(tex0, texCoords + vec2(-tx2, ty)).rgb;
    vec3 cp5 = texture2D(tex0, texCoords + vec2(-tx1, 0.0)).rgb;
    vec3 cp6 = texture2D(tex0, texCoords + vec2(-tx2, -ty)).rgb;
    vec3 cp7 = texture2D(tex0, texCoords + vec2(tx2, -ty)).rgb;
    gl_FragData[0] = vec4((cp1 + cp2 + cp3 + cp4 + cp5 + cp6 + cp7) / 7.0, 1.0);