サイトアイコン NegativeMindException

Mitsuba 3:オープンソースの研究向けレンダラ

オープンソースの研究用レンダラ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


スポンサーリンク

関連記事

  • 書籍『OpenCV 3 プログラミングブック』を購入
  • C++始めようと思うんだ
  • ディープラーニングに対応したPythonの機械学習ライブラリ『Pylearn2』
  • Maya 2015から標準搭載されたMILA
  • ZBrushで仮面ライダー3号を造る 仮面編 ClipCurve
  • Point Cloud Utils:Pythonで3D点群・Meshを扱うライブラリ
  • Raspberry Pi 2のGPIOピン配置
  • OpenCVのfindEssentialMat関数を使ったサンプルを読んでみる
  • 網元AMIで作ったWordpressサイトのインスタンスをt1microからt2microへ移行した
  • PeopleSansPeople:機械学習用の人物データをUnityで生成する
  • OpenCVの三角測量関数『cv::triangulatepoints』
  • ドットインストールのWordPress入門レッスン
  • adskShaderSDK
  • AfterEffectsプラグイン開発
  • Maya には3 種類のシェーダSDKがある?
  • ラクガキの立体化 背中の作り込み・手首の移植
  • オープンソースの物理ベースGIレンダラ『appleseed』
  • Google App EngineでWordPress
  • フルCGのウルトラマン!?
  • SONYの自律型エンタテインメントロボット『aibo』
  • 組み込み向けのWindows OS 『Windows Embedded』
  • SIGGRAPH Asia
  • OpenCV
  • 布地のシワの法則性
  • Verilog HDL
  • CGWORLD CHANNEL 第21回ニコ生配信は『シン・ゴジラ』メイキングスペシャル!
  • After Effects全エフェクトの解説(6.5)
  • 『ローグ・ワン/スター・ウォーズ・ストーリー』のVFXブレイクダウン まとめ
  • ZBrush キャラクター&クリーチャー
  • Photoshopで作る怪獣特撮チュートリアル
  • 『ローグ・ワン/スター・ウォーズ・ストーリー』"あのキャラクター"のメイキング
  • 写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』
  • AmazonEC2のインスタンスをt1.microからt2.microへ移行する
  • ZBrushでアヴァン・ガメラを作ってみる
  • Mechanizeで要認証Webサイトをスクレイピング
  • チャットツール用bot開発フレームワーク『Hubot』
  • Fast R-CNN:ディープラーニングによる一般物体検出手法
  • NumSharp:C#で使えるNumPyライクな数値計算ライブラリ
  • ZBrushで手首のモデリングをリファイン
  • BlenderでPhotogrammetryできるアドオン
  • Amazon Web ServicesでWordPress
  • 機械学習のオープンソースソフトウェアフォーラム『mloss(machine learning ope...
  • モバイルバージョンを終了