Skip to main content

Mitsuba 3

v3.6.0

Research-oriented retargetable rendering system with first-class differentiable rendering support

Path TracingDifferentiable
C++/Python
BSD-3-Clause
Active
GPU: CUDA, OptiX
CPU
Stars
2.2k
Latest Release3.6.0
Release DateSep 2024
Contributors90
Forks310
At a Glance
Technique
Path Tracing, Differentiable
Language
C++/Python
License
BSD-3-Clause
Platforms
Linux
macOS
Windows
GPU Support
Yes (CUDA, OptiX)
CPU Support
Yes
Scene Formats
Mitsuba XML
Output Formats
EXR, PNG, HDR, JPEG
First Release
Jul 2022
Latest Release
3.6.0 — Sep 2024
Best For
Differentiable rendering research, inverse rendering, spectral light transport studies, and academic papers requiring gradient-based scene optimization

Development Activity

Commit activity data is not available for this renderer.

2.2k
Stars
3.6.0
1 year ago
90
Contributors
View on GitHub

Overview

Best for

Differentiable rendering research, inverse rendering, spectral light transport studies, and academic papers requiring gradient-based scene optimization

Not ideal for

Production rendering pipelines needing artist-friendly GUIs, real-time preview, or broad file format support

Strengths

  • First-class differentiable rendering support via Dr.Jit — enables gradient computation through the entire rendering pipeline for inverse rendering and optimization
  • Retargetable backend system (scalar, LLVM, CUDA) allows the same code to run on CPU or GPU without modification
  • Spectral and polarization-aware rendering for physically accurate light transport beyond the RGB color model
  • Comprehensive Python bindings expose nearly all functionality, enabling tight integration with scientific workflows and deep learning frameworks
  • Active academic community at EPFL with regular publications pushing the state of the art in differentiable rendering

Limitations

  • Steeper learning curve than artist-oriented renderers — requires understanding of the retargetable variant system and Dr.Jit concepts
  • Only reads its own XML-based scene format natively — no direct glTF, OBJ, or USD import without conversion
  • No built-in GUI or interactive scene editor — all interaction is through Python scripts or command line
  • Differentiable rendering adds computational overhead compared to non-differentiable path tracers for forward rendering only
  • Smaller user community than established tools like Blender Cycles, leading to fewer tutorials and community resources

Background

Mitsuba 3 is a research-oriented rendering system developed at EPFL by Wenzel Jakob and collaborators. Its defining feature is a retargetable architecture built on Dr.Jit, a just-in-time compiler for differentiable computation. This means the same rendering code can be compiled for different execution backends — scalar (debugging), LLVM (optimized CPU), and CUDA (GPU) — and can optionally track derivatives through the entire rendering process for inverse rendering and gradient-based optimization.

As a physically based renderer, Mitsuba 3 supports unbiased path tracing, bidirectional methods, spectral rendering across arbitrary wavelength ranges, and polarization-aware light transport. Its differentiable rendering capability enables applications in inverse rendering, material estimation, neural scene optimization, and gradient-based shape reconstruction — areas at the forefront of computer graphics and vision research.

Mitsuba 3 provides comprehensive Python bindings through which nearly all functionality is accessible, making it particularly popular in the machine learning and differentiable rendering research communities. The system includes a rich library of BSDFs, emitters, sensors, and integrators, and can read scene descriptions in its own XML-based format. While it lacks a built-in GUI, its Python API enables tight integration with scientific workflows, Jupyter notebooks, and deep learning frameworks like PyTorch and JAX.

Quick Start

Community & Resources

Performance Benchmarks

Avg Render Time

2m 52s

Avg Memory

1.7 GB

Avg PSNR

40.9 dB

Avg SSIM

0.9974

Render Time by Scene

cornell box1m 8s
classroom2m 47s
sponza6m 53s
Fastest: cornell box (1m 8s)Slowest: sponza (6m 53s)

Image Quality Metrics

ScenePSNRSSIMMemorySPP
cornell box41.4 dB0.99831.0 GB1,024
classroom41.0 dB0.99711.9 GB1,024
sponza39.8 dB0.99582.8 GB1,024

3 scenes tested on High-End Desktop, Mid-Range Laptop

View all benchmarks