Mitsuba 3
Mitsuba 3 is a free, open-source system for research-oriented forward and inverse light-transport simulation.
What Mitsuba 3 is
Mitsuba 3 is a free, open-source system for research-oriented forward and inverse light-transport simulation. It supports monochrome, RGB, and spectral rendering, with optional polarization tracking, and can compute how simulations change with inputs such as camera pose, geometry, materials, textures, and volumes. Rendering code is compiled for CPUs through LLVM and for NVIDIA GPUs through CUDA and OptiX. Its Python integration lets users develop materials, textures, and rendering algorithms, and the documentation includes a PyTorch interoperability tutorial. Installation is recommended through pip, and Python 3.10 or later is required. GPU use optionally requires NVIDIA driver 535 or later; parallel CPU computation optionally requires LLVM 18 or later. The project reports support for Linux x86_64, macOS aarch64 and x86_64, and Windows x86_64. The Python package includes thirteen variants by default; additional variants require compiling a custom Dr.Jit version using CMake. Documentation includes tutorials, notebooks, how-to guides, and API and plugin references. Mitsuba 3 is written in portable C++17 on Dr.Jit, with plugins spanning materials, light sources, and rendering algorithms.
Good
- Supports monochrome, RGB, and spectral rendering.
- Can compute derivatives with respect to scene inputs.
- Includes Python integration for developing rendering components.
- Provides tutorials, notebooks, and API references.
- Free and open source.
Watch out
- Requires Python 3.10 or later.
- The default Python package includes thirteen variants.
- Extra variants require a custom Dr.Jit build.
Who it suits
Mitsuba 3 is aimed at researchers and developers exploring light transport, inverse rendering, shape optimization, or computer graphics. Its Python workflow and tutorials also support experimentation in other disciplines.
Verdict
Mitsuba 3 is a research-focused choice for programmable light-transport simulation, with differentiable rendering and multiple rendering variants. Check its Python and optional compute requirements, as well as the default variant limit, before choosing it.
Plans and prices
From Mitsuba 3's own pricing page, checked 11 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Free | Free | Python package includes 13 variants by default · Python >= 3.10 · GPU use optionally requires Nvidia driver >= 535 · CPU vectorization optionally requires LLVM >= 18 |
The facts
Each one read from Mitsuba 3's own pages, with the date it was checked.
What it does
- Architecture
- It is written in portable C++17 on top of the Dr.Jit just-in-time compiler.checked 11 Oct 2026
- Audience
- The project describes itself as research-oriented and provides tutorials for applications including inverse rendering and shape optimization.checked 11 Oct 2026
- Color and light
- It supports monochrome, RGB, and spectral rendering variants, with optional polarization effects.checked 11 Oct 2026
- Compatibility
- Mitsuba 3 strives to retain scene compatibility with Mitsuba 0.6 and Mitsuba 2.checked 11 Oct 2026
- Developer
- The project says it was created by Wenzel Jakob and developed at EPFL in Switzerland.checked 11 Oct 2026
- Differentiable rendering
- It computes derivatives of simulations with respect to inputs such as camera pose, geometry, materials, textures, and volumes.checked 11 Oct 2026
- Installation
- The recommended installation method is pip, using the command `pip install mitsuba`.checked 11 Oct 2026
- Integration
- The documentation includes a tutorial on interoperability between PyTorch and Mitsuba.checked 11 Oct 2026
- Integrations
- The documentation includes a tutorial on interoperability between PyTorch and Mitsuba.checked 11 Oct 2026
- Intended users
- The project describes itself as research-oriented and says its Python workflow enables experimentation in computer graphics and other disciplines.checked 11 Oct 2026
- Learning resources
- The documentation provides tutorials, notebooks, how-to guides, and API and plugin references.checked 11 Oct 2026
- License
- The repository license permits redistribution and use in source and binary forms subject to its listed conditions.checked 11 Oct 2026
- Limits
- The Python package includes thirteen variants by default; additional variants require compiling a custom version of Dr.Jit using CMake.checked 11 Oct 2026
- Performance
- Dr.Jit compiles rendering code for CPUs through LLVM and for NVIDIA GPUs through CUDA and OptiX.checked 11 Oct 2026
- Plugin system
- Its core libraries and plugins cover functionality from materials and light sources to complete rendering algorithms.checked 11 Oct 2026
- Purpose
- Mitsuba 3 is a research-oriented renderer for forward and inverse light-transport simulation.checked 11 Oct 2026
- Python
- Mitsuba 3 integrates with Python, where users can develop materials, textures, and rendering algorithms.checked 11 Oct 2026
- Rendering variants
- It supports monochrome, RGB, and spectral rendering, with optional polarization tracking.checked 11 Oct 2026
- Security and support
- The pages reviewed provide installation guidance, documentation, and tutorials but do not state security certifications or a support service.checked 11 Oct 2026
- Supported systems
- The project says it has been tested on Linux x86_64, macOS aarch64 and x86_64, and Windows x86_64.checked 11 Oct 2026
- System requirements
- Installation requires Python 3.10 or later; GPU computation optionally requires NVIDIA driver 535 or later, and parallel CPU computation optionally requires LLVM 18 or later.checked 11 Oct 2026
Where it runs
- Platforms
- The project says it has been tested on Linux x86_64, macOS aarch64 and x86_64, and Windows x86_64.checked 11 Oct 2026
The full review of Mitsuba 3
Mitsuba 3 is a programmable system for forward and inverse light-transport simulation, aimed at graphics researchers and developers. Its differentiable rendering and range of light representations make it a strong research tool, but it requires a Python-based workflow and has a fixed default set of variants.
Overview
Built in portable C++17 on Dr.Jit, Mitsuba 3 combines a just-in-time compiler with plugins for materials, light sources, and complete rendering algorithms. That extensible structure is useful when a project calls for changing or studying the rendering pipeline itself; it is less suitable for users who want a self-contained creative application rather than a system to build on.
The central strength is differentiable simulation: Mitsuba can compute derivatives with respect to scene inputs such as camera pose, geometry, materials, textures, and volumes. That makes it a compelling choice for inverse rendering and shape optimization, where those derivatives can support parameter-driven experimentation. Mitsuba also aims to retain scene compatibility with versions 0.6 and 2, a practical consideration for projects using earlier Mitsuba scenes.
Key features
- Multiple rendering variants: Monochrome, RGB, and spectral rendering, with optional polarization tracking, let users work with different representations of light and color. The Python package includes thirteen variants by default; users who need more must compile a custom Dr.Jit version with CMake.
- Differentiable rendering: Derivatives for camera pose, geometry, materials, textures, and volumes make Mitsuba relevant to optimization and inverse-rendering research. This technical focus is a strength for those workflows, not a substitute for a conventional production interface.
- Python development: Users can develop materials, textures, and rendering algorithms in Python. Tutorials, notebooks, how-to guides, and API and plugin references provide a substantial learning path, though the workflow still presumes comfort with development tools.
- CPU and GPU compilation: Dr.Jit compiles rendering code for CPUs through LLVM and for NVIDIA GPUs through CUDA and OptiX. GPU computation is optional and requires an NVIDIA driver 535 or later; parallel CPU computation optionally requires LLVM 18 or later.
- PyTorch interoperability: Documentation includes a tutorial for interoperability between PyTorch and Mitsuba, which is useful for users connecting rendering experiments to PyTorch workflows.
Pricing
Mitsuba 3 is free and open source. The Free plan costs nothing and includes the Python package with thirteen variants by default. It requires Python 3.10 or later; GPU use optionally requires NVIDIA driver 535 or later, and CPU vectorization optionally requires LLVM 18 or later. There is no free trial because the software is already free.
The license permits redistribution and use in source and binary forms subject to its conditions. The main practical limit is the default variant set: additional variants require a custom Dr.Jit build using CMake. That trade-off makes the free package attractive for research that fits its included variants, but adds engineering work for projects that do not.
Platforms
Mitsuba 3 supports Linux, macOS, and Windows, with API and self-hosted use also listed. The project reports testing on Linux x86_64, macOS aarch64 and x86_64, and Windows x86_64, so those are the clearest targets for a supported setup. Installation is recommended through pip with pip install mitsuba. Python 3.10 or later is required; optional GPU computation relies on an NVIDIA driver 535 or later, while parallel CPU computation can use LLVM 18 or later.
Who it's for
Mitsuba 3 is best suited to graphics researchers and developers experimenting with computer graphics and related disciplines, especially those working on inverse rendering or shape optimization. Its Python workflow, tutorials, notebooks, and plugin references make it possible to explore rendering algorithms as well as use them. Readers seeking a ready-made renderer with a stated support service should look elsewhere: the project provides documentation and tutorials, but no support service or security certification is stated.
Pros and cons
Pros
- Differentiable simulation: Derivatives across scene parameters support inverse rendering and optimization research.
- Broad light representations: Monochrome, RGB, spectral, and optional polarization modes serve varied research needs.
- Extensible Python workflow: Users can develop materials, textures, and algorithms, backed by tutorials and technical references.
- Free and open source: The license permits source and binary redistribution and use subject to its conditions.
Cons
- Variant ceiling in the package: Only thirteen variants are included by default; extra variants mean a custom Dr.Jit build with CMake.
- Specific environment requirements: Python 3.10 or later is mandatory, and optional acceleration depends on compatible NVIDIA drivers or LLVM.
- Research-first orientation: Its programmable system is a less direct fit for users who want a packaged creative renderer.
Alternatives
Choose LuxCoreRender if you want a free renderer for private and commercial use across Windows, Mac OS X, and Linux. Bforartists is a free, open-source 3D creation suite and may suit readers looking for a broader creation environment. Choose V-Ray Benchmark for standalone CPU and GPU rendering tests with online result comparison rather than Mitsuba's research-oriented simulation workflows.
Houdini, Terragen, Marmoset Viewer, RenderMan, and Thea Render are other options to compare.
Browse more tools in 3D Rendering Software.
Verdict
Choose Mitsuba 3 if you need a free, programmable platform for differentiable light-transport research, particularly inverse rendering or shape optimization. Its rendering variants and Python extensibility are the main reasons to choose it; look elsewhere if you need a turnkey creative renderer or your work depends on variants beyond the thirteen included by default and you do not want to build a custom version.
Alternatives to Mitsuba 3
- 1

D5 Render
Free planWebWindows7.6From $360 a year - 2
Terragen
Free planAPILinuxmacOSWindows7.6From $96 a year - 3
LuxCoreRender
Free planOpen sourceAPIExtensionLinuxmacOS7.3Free plan - 4
Picogen
Free planOpen sourceLinuxWindows7.2Free plan - 5
Twinmotion
Free planWebmacOSWindows7.0From $445 a year - 6
KeyShot
WebAPIExtensionLinux6.9
