SDF-Grid inverse rendering in plain C using Enzyme AD
- C 98.2%
- Shell 1.8%
| stb | ||
| .gitignore | ||
| adam.h | ||
| build.sh | ||
| fastsweep.c | ||
| fastsweep.h | ||
| helpers.h | ||
| main.c | ||
| README.md | ||
| sdf.c | ||
| sdf.h | ||
| sdf_grid.c | ||
| sdf_grid.h | ||
| types.h | ||
SDF-Grid Inverse Renderer
Example implementation of the SDF-Grid inverse rendering algorithms.
Enzyme is used for automatic differentiation. ADAM optimizer implementation is used for parameters optimization.
Build
See build.sh for compiling process or use it directly ./build.sh.
Use
Run ./main.bin.
Parameters and defaults:
--iterations 100 — number of inverse rendering optimisation loop iterations.
--band 0.5 — narrow band scale relative to voxel diagonal.
--samples 1 — number of rendering samples.
--render-resolution 64 64 — rendering resolution in pixels.
--sdf-resolution 64 64 64 — grid resolution in the numbers of points.
--preset 64 — shortcut for setting rendering and grid resolutions to equal number.