What is the main difference between 'render_image_with_occgrid' vs 'render_image_with_occgrid_test'?
Hi, I noticed that a new function 'render_image_with_occgrid_test' is provided in the examples recently. May I ask what is the main difference between the two functions? Is there any problem with using 'render_image_with_occgrid' for evaluation?
Not a problem at all. We recently update the code from render_image_with_occgrid to render_image_with_occgrid_test for faster rendering (see https://github.com/KAIR-BAIR/nerfacc/pull/217) but it is totally compatible to just use render_image_with_occgrid.
High levelly, the difference is how the for-loop (parallelization) is done in these two functions:
-
render_image_with_occgridloops over all rays. For every ray you march to the end and draw samples for network query. -
render_image_with_occgrid_testloops over marching steps. For all rays you march certain amount of steps and draw samples for network query.
The second one allows for early termination for some rays which brings speedup to the rendering.