オープンソースの研究用レンダラMitsubaのバージョン2が発表されたのが3年ほど前。

次のバージョンのMistuba 3が発表されました↓
Mitsuba 3: A Retargetable Forward and Inverse Renderer
Mitsuba 3は研究指向のリターゲット可能なレンダリングシステムであり、Dr.Jit Just In TimeコンパイラによるポータブルなC++ 17で記述されています。Mitsuba 3は、EPFLのRealisticGraphicsLabによって開発されました。
Mitsuba 3は、微分トラッキング、LLVMまたはCUDAを介した動的コンパイル、様々なラディアンス表現(モノクロ、RGB、またはスペクトル光、場合によっては偏光)などのオプションを選択でき、様々な形態へコンパイルできます。
Mitsuba 3は小さなコアライブラリと、マテリアルや光源からレンダリングアルゴリズムに至るまでの全ての機能を実装したプラグインの集合で構成されています。Mitsuba 3は、旧バージョンのMitsuba 0.6とのシーン互換性の維持に努めています。
Dr.Jitととは何かというと、微分可能レンダリングのために開発された新しい実行時コンパイラ(Just In Timeコンパイラ)だそうで、SIGGRAPH 2022で発表されるらしい↓
Dr.Jit: A Just-In-Time Compiler for Differentiable Rendering
Mitsuba 3は既にソースコードがGitHubで公開されており、READMEにより詳しい概要説明がある↓
Mitsuba Renderer 3
Mitsuba 3は、スイスのEPFL(スイス連邦工科大学ローザンヌ校)で開発された順方向(forward)および逆方向(inverse)の光輸送シミュレーションのための研究指向のレンダリングシステムです。コアライブラリと、マテリアルや光源からレンダリングアルゴリズムに至るまでの全ての機能を実装したプラグインの集合として構成されています。
Mitsuba 3はリターゲット可能で、基盤となる実装とデータ構造を様々な異なるタスクへ変換して実行できます。例えば、同じコードでスカラーRGB輸送(1度に1つの光線を扱う古典的手法)とGPU上での微分可能スペクトル輸送の両方をシミュレートできます。これは全て、このプロジェクトのために特別に開発された専用のJIT(Just In Time)コンパイラ Dr.Jitでビルドされます。
主な機能
- クロスプラットフォーム:Mitsuba 3はLinux (x86_64), macOS (aarch64, x86_64), Windows (x86_64)でテスト済みです。
- ハイパフォーマンス:基盤となるDr.Jitコンパイラはレンダリングコードをカーネルに融合し、CPUをターゲットとするLLVMバックエンドと、レイトレーシングハードウェアアクセラレーションを備えたNVIDIA GPUをターゲットとするCUDA/OptiXバックエンドを使用して最先端のパフォーマンスを実現します。
- Pythonファースト:Mitsuba3はPythonと深く統合されています。マテリアルやテクスチャだけでなく、全てのレンダリングアルゴリズムをPythonで開発でき、システムをすぐにJITコンパイル(さらにオプションで微分も)できます。これにより、コンピュータグラフィックスやその他分野の研究に必要な実験が可能です。
- 微分:Mitsuba 3は微分可能レンダラです。つまり、カメラのポーズ、ジオメトリ、BSDF、テクスチャ、ボリュームなどの入力パラメータについて、シミュレーション全体の導関数を計算できます。Mitsuba 3には、EPFLで開発された最新の微分可能レンダリングのアルゴリズムを実装されています。
- スペクトルと偏光:Mitsuba 3は、単色レンダラー、RGBベースのレンダラー、スペクトルレンダラーとして使用でき、各形態で必要に応じてオプションで偏光の影響を考慮できます。
Mitsuba 3は既にチュートリアル動画もとても充実している↓
ドキュメントはこちら。Mitsuba 3はpipですぐインストールできるのがイマドキな感じですね。
Blenderアドオンはこちら↓
Mitsuba Blender Add-on
関連記事
RefineNet (Multi-Path Refineme...
ZBrushで仮面ライダー3号を造る 仮面編 PolyGro...
オーバーロードとオーバーライド
ZBrushCoreのTransposeとGizmo 3D
実写と実写の合成時の色の馴染ませテクニック
BSDF: (Bidirectional scatterin...
Mayaのポリゴン分割ツールの進化
ブラウザ操作自動化ツール『Selenium』を試す
スクレイピング
PGGAN:段階的に解像度を上げて学習を進めるGAN
ZBrushでアヴァン・ガメラを作ってみる 頭頂部と首周りを...
3Dモデルを立体視で確認できるVRアプリを作っている
Iridescence:プロトタイピング向け軽量3D可視化ラ...
Kubric:機械学習用アノテーション付き動画生成パイプライ...
ポリゴンジオメトリ処理ライブラリ『pmp-library (...
画像生成AI Stable Diffusionで遊ぶ
Geogram:C++の3D幾何アルゴリズムライブラリ
Blender 2.8がついに正式リリース!
C++ 標準テンプレートライブラリ (STL)
OpenCV 3.1のsfmモジュールを試す
ZScript
OpenCVで動画の手ぶれ補正
ZBrushでアヴァン・ガメラを作ってみる 爪とトゲを追加
iOSで使えるJetpac社の物体認識SDK『DeepBel...
トランスフォーマー :リベンジのメイキング (デジタルドメイ...
Unity MonoBehaviourクラスのオーバーライド...
『ゴジラ キング・オブ・モンスターズ』のVFXブレイクダウン
BlenderのPython環境にPyTorchをインストー...
Theia:オープンソースのStructure from M...
オープンソースの物理ベースレンダラ『Mitsuba』をMay...
Google App EngineでWordPress
MythTV:Linuxでテレビの視聴・録画ができるオープン...
MPFB2:Blenderの人体モデリングアドオン
『ローグ・ワン/スター・ウォーズ・ストーリー』"あのキャラク...
Mayaのプラグイン開発
ZBrushでゴジラ2001を作ってみる 姿勢の変更
アニゴジ関連情報
Unreal Engine Tokyo MeetUp!へ行っ...
Deep Learningとその他の機械学習手法の性能比較
SSD (Single Shot Multibox Dete...
Kaolin:3Dディープラーニング用のPyTorchライブ...
書籍『ROSプログラミング』



コメント