Eric Jang: Differentiable Path Tracing on the GPU/TPU
blog.evjang.com · 5,403 words · saved by 1 readers
You can download a PDF (typset in LaTeX) of this blog post here . Jupyter Notebook Code on GitHub: https://github.com/ericjang/pt-jax ...
You can download a PDF (typset in LaTeX) of this blog post here. This blog post is a tutorial on implementing path tracing, a physically-based rendering algorithm, in JAX. This code runs on the CPU, GPU, and Google Cloud TPU, and is implemented in a way that also makes it end-to-end differentiable. You can compute gradients of the rendered pixels with respect to geometry, materials, whatever your heart desires. I love JAX because it is equally suited for pedagogy and high-performance computing. We will implement a path tracer for a single pixel in numpy-like syntax, slap a jax.vmap…
saved by
related reading
- Tristan's Site - Tristan Humethume.ca
- Ray Tracing in One Weekendraytracing.github.io
- Ray Tracingdeveloper.nvidia.com
- Differentiable Programming from Scratchthenumb.at
- How to think in JAX — JAX documentationdocs.jax.dev
- Why You Should (or Shouldn't) be Using Google's JAX in 2023assemblyai.com
- NeRF: Neural Radiance Fieldsmatthewtancik.com
- GitHub - jax-ml/jax: Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and moregithub.com
- Tiny TPUtinytpu.com
- DiffTaichi: Differentiable Programming for Physical Simulationarxiv.org
- TU Berlin | CG | Marc Alexacg.tu-berlin.de
- Chapter 0: Fundamentals - ARENAlearn.arena.education