เอกสารประกอบ | วิดีโอสอน | ลินุกซ์ | แมคโอเอส | หน้าต่าง | พีพีไอ |
---|---|---|---|---|---|
ขณะนี้มีงานจำนวนมากที่ไม่มีเอกสารและไม่เสถียรเกิดขึ้นในสาขา master
เราขอแนะนำให้คุณใช้รุ่นล่าสุดของเราจนกว่าจะมีการแจ้งให้ทราบล่วงหน้า
หากคุณต้องการลองใช้การเปลี่ยนแปลงที่กำลังจะมาถึงโปรดดูที่คู่มือการพอร์ตนี้ ควรครอบคลุมคุณลักษณะใหม่ส่วนใหญ่และการเปลี่ยนแปลงที่กำลังจะเกิดขึ้น
Mitsuba 3 คือระบบการเรนเดอร์ที่เน้นการวิจัยสำหรับการจำลองการขนส่งแสงไปข้างหน้าและผกผันที่พัฒนาขึ้นที่ EPFL ในประเทศสวิตเซอร์แลนด์ ประกอบด้วยไลบรารีหลักและชุดของปลั๊กอินที่ใช้ฟังก์ชันการทำงานตั้งแต่วัสดุและแหล่งกำเนิดแสงไปจนถึงอัลกอริทึมการเรนเดอร์
มิตซูบะ 3 สามารถ กำหนดเป้าหมายได้อีกครั้ง : ซึ่งหมายความว่าการใช้งานพื้นฐานและโครงสร้างข้อมูลสามารถเปลี่ยนได้เพื่อให้บรรลุงานที่แตกต่างกัน ตัวอย่างเช่นรหัสเดียวกันสามารถจำลองทั้งสเกลาร์ ทั้งหมดนี้สร้างขึ้นบน Dr.Jit คอมไพเลอร์แบบ เฉพาะเวลา (JIT) ที่พัฒนาขึ้นโดยเฉพาะสำหรับโครงการนี้
Cross-Platform : Mitsuba 3 ได้รับการทดสอบบน Linux ( x86_64
), MacOS ( aarch64
, x86_64
) และ Windows ( x86_64
)
ประสิทธิภาพสูง : คอมไพเลอร์ดร. เจทคอมไพเลอร์จะหลอมรวมรหัสการแสดงผลลงในเมล็ดที่บรรลุประสิทธิภาพที่ทันสมัยโดยใช้แบ็กเอนด์ LLVM ที่กำหนดเป้าหมาย CPU และแบ็กเอนด์ CUDA/Optix ที่กำหนดเป้าหมาย NVIDIA GPUs พร้อมการเร่งความเร็วฮาร์ดแวร์เรย์
Python ก่อน : Mitsuba 3 ได้รับการบูรณาการอย่างลึกซึ้งกับ Python วัสดุพื้นผิวและอัลกอริธึมการเรนเดอร์เต็มรูปแบบสามารถพัฒนาได้ใน Python ซึ่งระบบ jit-compiles (และแตกต่างทางเลือก) ทันที สิ่งนี้ช่วยให้การทดลองที่จำเป็นสำหรับการวิจัยในกราฟิกคอมพิวเตอร์และสาขาวิชาอื่น ๆ
ความแตกต่าง : มิตซูบะ 3 เป็นตัวแสดงผลที่แตกต่างกันซึ่งหมายความว่ามันสามารถคำนวณอนุพันธ์ของการจำลองทั้งหมดด้วยความเคารพต่อพารามิเตอร์อินพุตเช่นท่าทางกล้องเรขาคณิต BSDFs พื้นผิวและปริมาตร มันใช้อัลกอริทึมการเรนเดอร์ที่แตกต่างกันล่าสุดที่พัฒนาขึ้นที่ EPFL
Spectral & Polarization : Mitsuba 3 สามารถใช้เป็นตัวเรนเดอร์โมโนโครม, Renderer-based Render หรือตัวแสดงผลสเปกตรัม แต่ละตัวแปรสามารถเลือกผลกระทบของการโพลาไรซ์ได้หากต้องการ
เราได้บันทึกวิดีโอ YouTube หลายรายการที่ให้การแนะนำอย่างอ่อนโยนมิตซูบะ 3 และ Dr.Jit นอกเหนือจากนี้คุณสามารถค้นหาสมุดบันทึก Juypter ที่สมบูรณ์ซึ่งครอบคลุมแอปพลิเคชันที่หลากหลายคำแนะนำวิธีการและเอกสารอ้างอิงเกี่ยวกับ ReadtheDocs
เราจัดเตรียมล้อไบนารีที่คอมไพล์ไว้ล่วงหน้าผ่าน PyPI การติดตั้ง Mitsuba ด้วยวิธีนี้ทำได้ง่ายเพียงแค่ใช้งาน
pip install mitsuba
บนบรรทัดคำสั่ง แพ็คเกจ Python มีตัวแปรสิบสามแบบตามค่าเริ่มต้น:
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
สองครั้งแรกทำการจำลองแบบหนึ่งเรย์-at-a-time แบบคลาสสิกโดยใช้การแสดงสี RGB หรือสเปกตรัมในขณะที่สองหลังสามารถใช้สำหรับการเรนเดอร์ผกผันบน CPU หรือ GPU ในการเข้าถึงตัวแปรเพิ่มเติมคุณจะต้องรวบรวม Dr.Jit รุ่นที่กำหนดเองโดยใช้ CMake โปรดดูเอกสารสำหรับรายละเอียดเกี่ยวกับเรื่องนี้
Python >= 3.8
Nvidia driver >= 495.89
LLVM >= 11.1
นี่คือตัวอย่าง "Hello World" ที่เรียบง่ายซึ่งแสดงให้เห็นว่ามันง่ายแค่ไหนในการแสดงฉากโดยใช้มิตซูบะ 3 จาก Python:
# 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 Zhang
เมื่อใช้ 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
}