                 float Wl = abs(luminance - centerLum) / (sqrGaussedVarLum + 1e-10f);
                 float Wz = abs(depth - centerDepth) / (cameraDistance * length(offset) * tileSize + 1e-2f);
 
-                float w = expf(-Wl * Wl - Wz) * h[i];
+                float w = expf(-Wl * Wl - Wz);
 
                 sumClr += color * w;
                 sumLum += luminance * w;

    sumVariance /= (sumW * sumW);

    nextTo[idx] = make_float4(sumClr.x, sumClr.y, sumLum, sumVariance);

    surf2Dwrite(
        nextTo[idx].y >= 0.0f ? make_float4(nextTo[idx].y, 0.0f, 0.0f, 1.0f) : make_float4(0.0f, abs(nextTo[idx].y), 0.0f, 1.0f),
        dst,
        ix * sizeof(float4), iy,
        cudaBoundaryModeTrap);
}

namespace idaten


__global__ void atrousGradient(
    idaten::TileDomain tileDomain,
    int tileSize,
    const float4* __restrict__ gradient,
    const float4* __restrict__ curAovNormalDepth,
