sxyu / svox2

Plenoxels: Radiance Fields without Neural Networks
BSD 2-Clause "Simplified" License
2.79k stars 360 forks source link

Help with the backward kernel trace_ray_cuvol_backward #65

Closed amanshenoy closed 2 years ago

amanshenoy commented 2 years ago

Was just curious about how the backward kernel for trace_ray_cuvol was generated. Was the kernel generated through another application or were was the rendering function hand differentiated and implemented in the backward kernel?

Any recommendations for how this backward kernel has to be implemented for an arbitrary rendering function?

sarafridov commented 2 years ago

This was hand-differentiated. To swap out the rendering function I think you'll need to either hand-differentiate it yourself and implement the kernel, or use a higher-level implementation with automatic differentiation (e.g. you can start with our JAX version linked from the readme, but note it is much slower and is feature-limited, recommended for experimentation but not for production).

amanshenoy commented 2 years ago

Will look into it! Thank you!