跳转到主要内容

3:可重定向的前向和反向渲染器

项目描述

简介

Mitsuba 3 是瑞士洛桑联邦理工学院(EPFL)开发的一个面向前向和反向光传输模拟的研究性渲染系统。它由一个核心库和一套插件组成,这些插件实现了从材料、光源到完整的渲染算法的各种功能。

Mitsuba 3 是可重定向的:这意味着底层实现和数据结构可以转换以完成各种不同的任务。例如,相同的代码可以模拟GPU上的标量(经典单射线)RGB传输或微分光谱传输。这一切都基于Dr.Jit,这是一个专门为此项目开发的即时(JIT)编译器。

主要特性

  • 跨平台:Mitsuba 3 已在 Linux(x86_64)、macOS(aarch64、x86_64)和 Windows(x86_64)上进行测试。

  • 高性能:底层的 Dr.Jit 编译器将渲染代码融合到内核中,这些内核使用针对 CPU 的 LLVM 后端和针对 NVIDIA GPU 的 CUDA/OptiX 后端(具有光线追踪硬件加速)实现了最先进的性能。

  • Python优先:Mitsuba 3 深度集成了Python。材料、纹理甚至完整的渲染算法都可以在Python中开发,系统会即时编译(可选地微分)这些代码。这为计算机图形学和其他学科的研究提供了所需的实验。

  • 微分:Mitsuba 3 是一个可微分的渲染器,这意味着它可以计算整个模拟相对于输入参数(如相机姿态、几何形状、BSDFs、纹理和体积)的导数。它实现了EPFL开发的最近的可微分渲染算法。

  • 光谱和偏振:Mitsuba 3 可以用作单色渲染器、基于RGB的渲染器或光谱渲染器。每个变体都可以根据需要考虑偏振效应。

教程视频、文档

我们录制了几段[YouTube视频][10],介绍了Mitsuba 3 和 Dr.Jit。除此之外,你还可以在[readthedocs][2]上找到涵盖各种应用、教程和参考文档的完整的Juypter笔记本。

安装

我们通过PyPI提供预编译的二进制轮子。使用这种方式安装Mitsuba就像在命令行上运行

pip install mitsuba

一样简单。

  • Python包默认包含四个变体:
  • scalar_spectral
  • scalar_rgb
  • llvm_ad_rgb

cuda_ad_rgb

前两个使用RGB或光谱颜色表示法执行经典的单射线一次模拟,而后两个可用于在CPU或GPU上执行反向渲染。要访问更多变体,您需要使用CMake编译Dr.Jit的定制版本。有关详细信息,请参阅文档

  • 需求
  • Python >= 3.8
  • (可选) 在GPU上进行计算:Nvidia驱动 >= 495.89

(可选) 在CPU上进行向量化/并行计算:LLVM >= 11.1

用法

# Import the library using the alias "mi"
import mitsuba as mi
# Set the variant of the renderer
mi.set_variant('scalar_rgb')
# Load a scene
scene = mi.load_dict(mi.cornell_box())
# Render the scene
img = mi.render(scene)
# Write the rendered image to an EXR file
mi.Bitmap(img).write('cbox.exr')

以下是一个简单的“Hello World”示例,展示了如何使用Python从Mitsuba 3渲染场景是多么简单

有关各种应用的教程和示例笔记本可以在[文档][2]中找到。

关于

该项目由Wenzel Jakob创建。Sébastien Speierer、Nicolas Roussel、Merlin Nimier-David、Delio Vicini、Tizian Zeltner、Baptiste Nicolet、Miguel Crespo、Vincent Leroy和Ziyi Zhang为代码做出了重大贡献。

@software{Mitsuba3,
    title = {Mitsuba 3 renderer},
    author = {Wenzel Jakob and Sébastien Speierer and Nicolas Roussel and Merlin Nimier-David and Delio Vicini and Tizian Zeltner and Baptiste Nicolet and Miguel Crespo and Vincent Leroy and Ziyi Zhang},
    note = {https://mitsuba-renderer.org},
    version = {3.1.1},
    year = 2022
}

在学术项目中使用Mitsuba 3时,请引用


2022年7月20日

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发存档的教程。

上传时间: CPython 3.12 Windows x86-64

mitsuba-3.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (40.4 MB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ x86-64

mitsuba-3.5.2-cp312-cp312-macosx_11_0_arm64.whl (27.1 MB 查看哈希值)

上传时间: CPython 3.12 macOS 11.0+ ARM64

上传于 CPython 3.12 macOS 10.14+ x86-64

mitsuba-3.5.2-cp311-cp311-win_amd64.whl (31.8 MB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

mitsuba-3.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (40.4 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

mitsuba-3.5.2-cp311-cp311-macosx_11_0_arm64.whl (26.7 MB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

mitsuba-3.5.2-cp311-cp311-macosx_10_14_x86_64.whl (32.0 MB 查看哈希值)

上传于 CPython 3.11 macOS 10.14+ x86-64

mitsuba-3.5.2-cp310-cp310-win_amd64.whl (31.8 MB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

mitsuba-3.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (40.4 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

mitsuba-3.5.2-cp310-cp310-macosx_11_0_arm64.whl (26.7 MB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

mitsuba-3.5.2-cp310-cp310-macosx_10_14_x86_64.whl (32.0 MB 查看哈希值)

上传于 CPython 3.10 macOS 10.14+ x86-64

mitsuba-3.5.2-cp39-cp39-win_amd64.whl (31.8 MB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

mitsuba-3.5.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (40.4 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

mitsuba-3.5.2-cp39-cp39-macosx_11_0_arm64.whl (26.7 MB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

mitsuba-3.5.2-cp39-cp39-macosx_10_14_x86_64.whl (32.0 MB 查看哈希值)

上传于 CPython 3.9 macOS 10.14+ x86-64

mitsuba-3.5.2-cp38-cp38-win_amd64.whl (31.8 MB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

mitsuba-3.5.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (40.4 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

mitsuba-3.5.2-cp38-cp38-macosx_11_0_arm64.whl (26.7 MB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

mitsuba-3.5.2-cp38-cp38-macosx_10_14_x86_64.whl (32.0 MB 查看哈希值)

上传于 CPython 3.8 macOS 10.14+ x86-64

由以下提供支持