

  // 获取模糊颜色
  vec4 getBlurColor (vec2 pos, vec2 size, sampler2D texture, float radius) {
    vec4 color = vec4(0); // 初始颜色
    float sum = 0.0; // 总权重
    // 卷积过程
    for (float r = -radius; r <= radius; r++) { // 水平方向
      for (float c = -radius; c <= radius; c++) { // 垂直方向
        vec2 target = pos + vec2(r / size.x, c / size.y); // 目标像素位置
        float weight = (radius - abs(r)) * (radius - abs(c)); // 计算权重
        color += texture2D(texture, target) * weight; // 累加颜色
        sum += weight; // 累加权重
      }
    }
    color /= sum; // 求出平均值
    return color;
  }
