Skip to content

misuka-renderer/misuka

 
 

Repository files navigation

misuka logo

misuka

Introduction

misuka is a research-focused room acoustic renderer for forward and inverse sound transport simulation, developed in collaboration between the Audio Communication Group and the Computer Graphics Group at TU Berlin.

It is a fully compatible extension to Mitsuba 3, adding plugins for acoustic simulation.

Main Features

  • Differentiation: misuka is a differentiable renderer, meaning that it can compute derivatives of the entire simulation with respect to input parameters such as material properties, emitter and receiver positions, and scene geometry. It implements Time-Resolved Path Replay Backpropagationfor efficient gradient estimation.

  • Cross-platform: misuka has been tested on Linux (x86_64), macOS (arm64), and Windows (x86_64).

  • High performance: The underlying Dr.Jit compiler fuses rendering code into kernels that achieve state-of-the-art performance using an LLVM backend targeting the CPU and a CUDA/OptiX backend targeting NVIDIA GPUs with ray tracing hardware acceleration.

  • Python first: misuka is deeply integrated with Python. Materials, textures, and even full rendering algorithms can be developed in Python, which the system JIT-compiles (and optionally differentiates) on the fly. This enables the experimentation needed for research in computer graphics and other disciplines.

Disclaimer

misuka is currently under heavy development. Additional features will be added in the near future. The user interface might change.

Tutorials, documentation

You can find tutorials for forward rendering and gradient-based optimization in the folder tutorials_acoustic. More tutorials and a full documentation will be added successively.

Installation

misuka can be compiled analogously to Mitsuba 3. Please refer the Mitsuba 3 documentation for instructions.

Requirements

  • Python >= 3.8
  • (optional) For computation on the GPU: Nvidia driver >= 535
  • (optional) For vectorized / parallel computation on the CPU: LLVM >= 11.1

When using misuka in academic projects, please cite:

@article{finnendahl:2025:diff-acoustic-pt,
  title = {Differentiable Geometric Acoustic Path Tracing Using Time-Resolved Path Replay Backpropagation},
  author = {Finnendahl, Ugo and Worchel, Markus and J{\"u}terbock, Tobias and Wujecki, Daniel and Brinkmann, Fabian and Weinzierl, Stefan and Alexa, Marc},
  year = {2025},
  month = aug,
  journal = {ACM Transactions on Graphics},
  volume = {44},
  number = {4},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  doi = {10.1145/3730900},
  issue_date = {August 2025}
}

Languages

  • C++ 76.8%
  • Python 20.6%
  • CMake 1.1%
  • C 0.7%
  • Cuda 0.6%
  • Shell 0.1%
  • Other 0.1%