Volumetric Rendering =================================== In `nerfacc`, the volumetric rendering pipeline is broken down into 2 steps: 1. **Raymarching**: This is the process of shooting a ray through the scene and generate samples along the way. To perform efficient volumetric rendering, here we aim at skipping as many areas as possible. The emtpy space is skipped by using the cached occupancy grid (see :class:`nerfacc.OccupancyGrid`), and the invisible space is skipped by checking the transmittance of the ray while marching. Almost in all cases, those skipping won't result in a noticeable loss of quality as they would contribute very little to the final rendered image. But they will bring a significant speedup. 2. **Rendering**: This is the process of accumulating samples along the rays into final image. In this step we also need to query the attributes (a.k.a. color and density) of those samples generated by raymarching. Early stoping is supported in this step. | .. currentmodule:: nerfacc .. autofunction:: ray_marching .. autofunction:: rendering