diff --git a/threedgut_tracer/include/3dgut/kernels/cuda/models/gaussianParticles.cuh b/threedgut_tracer/include/3dgut/kernels/cuda/models/gaussianParticles.cuh index 45e45d6..b801421 100644 --- a/threedgut_tracer/include/3dgut/kernels/cuda/models/gaussianParticles.cuh +++ b/threedgut_tracer/include/3dgut/kernels/cuda/models/gaussianParticles.cuh @@ -498,7 +498,7 @@ __device__ inline void processHitBwd( float3 radianceGrad, float integratedDepth, float& depth, - float depthGrad) { + float integratedDepthGrad) { float3 particlePosition; float3 gscl; float33 particleRotation; @@ -550,11 +550,11 @@ __device__ inline void processHitBwd( // ===> d_hitT / d_galpha = gdist * prevTrm - residualHitT * prevTrm // = (gdist - residualHitT) * prevTrm // - const float galphaRayHitGrd = (gdist - residualHitT) * transmittance * depthGrad; + const float galphaRayHitGrd = (gdist - residualHitT) * transmittance * integratedDepthGrad; // // ===> d_hitT / d_gsqdist = weight / (2*gdist) // ===> d_gsqdist / d_grds = 2 * grds - const float3 grdsRayHitGrd = gsqdist > 0.0f ? ((2 * grds * weight) / (2 * gdist)) * depthGrad : make_float3(0.0f); + const float3 grdsRayHitGrd = gsqdist > 0.0f ? ((2 * grds * weight) / (2 * gdist)) * integratedDepthGrad : make_float3(0.0f); // ---> grds = gscl * grd * dot(grd, -1 * gro) // diff --git a/threedgut_tracer/include/3dgut/kernels/cuda/models/shRadiativeGaussianParticles.cuh b/threedgut_tracer/include/3dgut/kernels/cuda/models/shRadiativeGaussianParticles.cuh index 5ea32d3..2c0d996 100644 --- a/threedgut_tracer/include/3dgut/kernels/cuda/models/shRadiativeGaussianParticles.cuh +++ b/threedgut_tracer/include/3dgut/kernels/cuda/models/shRadiativeGaussianParticles.cuh @@ -401,8 +401,8 @@ struct ShRadiativeGaussianVolumetricFeaturesParticles : Params, public ExtParams reinterpret_cast(featuresBackward), reinterpret_cast(features), reinterpret_cast(featuresGradient), - hitT, hitTBackward, + hitT, hitTGradient); }