             m_aovColorVariance[curaov].ptr(),
             m_aovTexclrMeshid[curaov].ptr(),
             m_mtxC2V,
-            width, height);
+            width, height,
+            cameraDistance);
 
         checkCudaKernel(varianceEstimation);
     }

            cudaBoundaryModeTrap);
    }

    float3 centerViewPos = computeViewSpace(ix, iy, centerDepth, width, height, &mtxC2V);

    float3 centerMoment = make_float3(momentTemporalWeight.x, momentTemporalWeight.y, momentTemporalWeight.z);


            (m_tileDomain.w + block.x - 1) / block.x,
            (m_tileDomain.h + block.y - 1) / block.y);

        float cameraDistance = height / (2.0f * aten::tan(0.5f * m_camParam.vfov));

        int curaov = getCurAovs();

        varianceEstimation << <grid, block, 0, m_stream >> > (
