文件 | 教學影片 | Linux | 蘋果系統 | 視窗 | 皮伊 |
---|---|---|---|---|---|
目前master
分支中正在進行大量未記錄且不穩定的工作。我們強烈建議您使用我們的最新版本,直至另行通知。
如果您已經想嘗試即將發生的更改,請查看此移植指南。它應該涵蓋大部分新功能和即將到來的重大變化。
Mitsuba 3 是瑞士洛桑聯邦理工學院 (EPFL) 開發的前向和逆向光傳輸模擬的研究型渲染系統。它由一個核心庫和一組插件組成,這些插件實現了從材質和光源到完整渲染演算法的功能。
Mitsuba 3 是可重定向的:這意味著底層實作和資料結構可以轉換以完成各種不同的任務。例如,相同的程式碼可以在 GPU 上模擬標量(經典的一次一束光線)RGB 傳輸或差分光譜傳輸。這一切都建立在 Dr.Jit 的基礎上,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 開發,系統會即時進行 JIT 編譯(並可選擇區分)。這使得電腦圖形學和其他學科研究所需的實驗成為可能。
微分:Mitsuba 3 是一個可微渲染器,這表示它可以計算整個模擬相對於輸入參數(例如相機姿態、幾何形狀、BSDF、紋理和體積)的導數。它實現了 EPFL 最近開發的可微分渲染演算法。
光譜和偏振:Mitsuba 3 可用作單色渲染器、基於 RGB 的渲染器或光譜渲染器。如果需要,每個變體都可以選擇考慮偏振的影響。
我們錄製了幾個 YouTube 視頻,對 Mitsuba 3 和 Dr.Jit 進行了溫和的介紹。除此之外,您還可以在 readthedocs 上找到涵蓋各種應用程式、操作指南和參考文件的完整 Juypter 筆記本。
我們透過 PyPI 提供預編譯的二進位輪。以這種方式安裝三葉就像運行一樣簡單
pip install mitsuba
在命令列上。 Python 套件預設包含 13 個變體:
scalar_rgb
scalar_spectral
scalar_spectral_polarized
llvm_ad_rgb
llvm_ad_mono
llvm_ad_mono_polarized
llvm_ad_spectral
llvm_ad_spectral_polarized
cuda_ad_rgb
cuda_ad_mono
cuda_ad_mono_polarized
cuda_ad_spectral
cuda_ad_spectral_polarized
前兩者使用 RGB 或光譜顏色表示執行經典的一次光線模擬,而後兩者可用於 CPU 或 GPU 上的反向渲染。若要存取其他變體,您需要使用 CMake 編譯 Dr.Jit 的自訂版本。有關詳細信息,請參閱文件。
Python >= 3.8
Nvidia driver >= 495.89
LLVM >= 11.1
以下是一個簡單的「Hello World」範例,展示了使用 Python 中的 Mitsuba 3 渲染場景是多麼簡單:
# 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' )
文件中可以找到涵蓋各種應用程式的教學課程和範例筆記本。
該專案由 Wenzel Jakob 創建。程式碼的重要功能和/或改進由 Sébastien Speierer、Nicolas Roussel、Merlin Nimier-David、Delio Vicini、Tizian Zeltner、Baptiste Nicolet、Miguel Crespo、Vincent Leroy 和 Ziyi Zhu 貢獻。
在學術課程中使用 Mitsuba 3 時,請引用:
@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
}