YueJiang-nj / CVPR2020-SDFDiff

SDFDiff: Differentiable Rendering of Signed Distance Fields for 3D Shape Optimization
275 stars 19 forks source link

Question about derivatives of a given pixel with respect to the SDF grid #13

Open 07hyx06 opened 2 years ago

07hyx06 commented 2 years ago

Hi, thanks for your paper and code. I have some questions about the claim in the paper:

A key observation is that the derivatives of a given pixel with respect to rendering parameters only depend on a local neighborhood of eight SDF samples that define the value of the trilinearly interpolated SDF at the surface intersection point.

I'm a little bit confused about it. Suppose we do sphere tracing twice to get the ray-surface intersection point q from the start point p, then we have q = p1 + Trilinear(d0,...,d7 ; p1) where p1 = p + Trilinear(d0',...,d7'; p). So the ray-surface intersection point q should have a dependency not only on its local neighborhood (i.e. d0,...,d7), but also on the neighborhood along the sphere tracing path (in this case should be d0',...,d7').

In other words, the shading loss is dependent on the normal of the ray-surface intersection point q; the normal is dependent on the XYZ position of q; the position of q is dependent on all the neighborhood grid along the sphere tracing path. Is it means that the SDFDiff method only consider d(q)/d(d0),..., d(q)/d(d7), should we also need to consider d(q)/d(d0'),..., d(q)/d(d7')?