#343 · Primary category: Computer Vision

redner

computer-graphics computer-vision differentiable-rendering monte-carlo-ray-tracing pytorch rendering tensorflow

Differentiable rendering without approximation.

Project last updated:08/19/22

GitHub Stars

1.4K

Forks

145

Contributors

26

License

MIT

Why we included this project

redner is a differentiable renderer, which means you can backpropagate from a rendered image all the way back into the 3D scene parameters you are optimizing, whether that is camera pose, lighting, materials, or object geometry. That makes it a direct fit for inverse rendering and 3D reconstruction work: instead of treating the renderer as a black box, you adjust the scene against target images using ordinary gradient descent. The part that earns it a recommendation is that its gradients are actually correct. It estimates them stochastically while properly handling the discontinuities at silhouette and visibility edges, so the signal you optimize against is reliable rather than smoothed over. A physically-based mode renders global illumination and shadows while still providing correct derivatives, which helps when lighting and soft occlusion are the crux of the problem, and a faster deferred shading mode covers cases where local shading is enough. Both PyTorch and TensorFlow are supported, and it installs with pip, so it drops into existing Python pipelines cleanly.

Articles for this project

No articles for this project yet.

To suggest a topic or contribute an article, contact us.

Related projects in this category