このドキュメントでは、2 つのオープンソース プロジェクト、Jupyter 拡張機能のコレクションである BeakerX と研究指向のレンダリング システムである Mitoba 3 の概要を説明します。 BeakerX は JVM カーネルとインタラクティブなウィジェットで Jupyter を強化し、Mitsuba 3 は Python の統合と微分可能性を備えた高性能のレンダリング機能を提供します。両方のプロジェクトについては、インストール手順と使用例を含めて、以下で詳しく説明します。
BeakerX: Jupyter 用の Beaker 拡張機能
BeakerX は、JVM カーネルと対話型ウィジェットのコレクションです。
プロット、テーブル、自動翻訳、その他の Jupyter 拡張機能
Notebook および Jupyter Lab バージョン 1.2.x および 2.x。
BeakerX のバージョン 2.x は、以下を提供することで元のソリューション アーキテクチャを改良しています。
エンドユーザーがプラットフォームをより適切に調整するためにインストールできる独立したモジュール。
ドキュメント
GitHub 上のチュートリアル ノートブックで構成されています
そしてチートシート。
BeakerX は Beaker Notebook (ソース コード) の後継です。
アーカイブ)。それ
Two Sigma オープンソースから来ています。はい、私たちはそうです
雇用。
使用方法
BeakerX とすべてのカーネルをインストールするには、以下を使用します。
ソリューションの一部のみをインストールするには、インストールするカーネルを選択します。
次に、オプションのパッケージをインストールします。
Jupyter Lab 1.2 内に BeakerX 拡張機能をインストールするには、次を使用します。
Jupyter Lab 2.x 内に BeakerX 拡張機能をインストールするには、次を使用します。
特徴
インタラクティブプロットを備えた JVM カーネル:
Python から JavaScript および D3 への自動変換
インタラクティブなテーブル
よくある質問
FAQ.mdを参照してください。
帰属
BeakerX には次のような多くのプロジェクトが含まれており、これらのプロジェクトに依存しています。
カーネルの元々の派生元は、
ラップスグリッド、
ただし、Java で書き直され、リファクタリングおよび拡張されています。
Java サポートでは、Adrian Witas の org.abstractmeta.toolbox を使用します。
ANTLR 著作権 (c) 2012 Terence Parr および Sam Harwell
d3 著作権 (c) 2010-2015、マイケル ボストック
IPython 著作権 (c) 2008-2014、IPython 開発チーム
著作権 (c) 2001-2007、フェルナンド ペレス
著作権 (c) 2001、ヤンコ ハウザー
著作権 (c) 2001、ナサニエル グレイ
目次と init セルの拡張機能は次のものから来ています。
IPython-contrib 著作権 (c) 2013-2015、IPython-contrib 開発者
Scala 著作権 (c) 2002-2015 EPFL
著作権 (c) 2011-2015 Typesafe, Inc.
グアバ Copyright (C) 2012 The Guava Authors
Apache Spark 著作権 (C) 2014 以降、Apache Software Foundation。
H2データベース
エンジン
このソフトウェアには、H2 用の未修正のバイナリ再配布が含まれています
データベース エンジン (http://www.h2database.com/)、デュアル ライセンス
MPL 2.0 (Mozilla Public License) または
EPL 1.0 (Eclipse パブリック ライセンス)。ライセンスの原本
契約は http://www.h2database.com/html/license.html で確認できます。
例:
ミツバレンダラー3
ドキュメント | チュートリアルビデオ | Linux | MacOS | 窓 | PyPI |
---|---|---|---|---|---|
️
警告
️
現在、文書化されていない不安定な作業が大量に行われています。
master
ブランチ。ぜひご利用ください。
最新リリース
追って通知があるまで。
今後の変更をすでに試してみたい場合は、こちらをご覧ください。
この移植ガイド。
今後の新機能と重大な変更のほとんどがカバーされているはずです。
導入
ミツバ 3 は、順光と逆光の研究指向のレンダリング システムです。
スイスのEPFLで開発された輸送シミュレーション。
コア ライブラリと機能を実装するプラグインのセットで構成されます。
マテリアルや光源から完全なレンダリング アルゴリズムに至るまで。
ミツバ 3 は再ターゲット可能です。これは、基礎となる実装と
データ構造は、さまざまな異なるタスクを実行するために変換できます。のために
たとえば、同じコードで両方のスカラー (一度に 1 レイずつの古典的な) RGB トランスポートをシミュレートできます。
または GPU 上の差分スペクトル転送。これはすべてに基づいています
Dr.Jit は、このプロジェクトのために特別に開発された特殊なジャストインタイム(JIT) コンパイラーです。
主な特長
クロスプラットフォーム:Mitsuba 3 は Linux ( x86_64
)、macOS でテストされています
( aarch64
、 x8664
)、および Windows ( x8664
)。
高いパフォーマンス: 基盤となる Dr.Jit コンパイラーがレンダリング コードを融合します
を使用して最先端のパフォーマンスを実現するカーネルに組み込まれます。
CPU をターゲットとする LLVM バックエンドと CUDA/OptiX バックエンド
レイ トレーシング ハードウェア アクセラレーションを備えた NVIDIA GPU をターゲットとしています。
Python ファースト: ミツバ 3 は Python と深く統合されています。材料、
テクスチャ、さらには完全なレンダリング アルゴリズムさえも Python で開発できます。
これは、システムによってオンザフライで JIT コンパイル (およびオプションで微分) されます。
これにより、コンピュータ グラフィックスの研究に必要な実験が可能になり、
他の分野。
微分: ミツバ 3 は微分可能なレンダラーです。
入力に関するシミュレーション全体の導関数を計算できます
カメラのポーズ、ジオメトリ、BSDF、テクスチャ、ボリュームなどのパラメータ。それ
EPFL で開発された最近の微分可能レンダリング アルゴリズムを実装します。
スペクトルと偏光:Mitsuba 3 は単色として使用可能
レンダラー、RGB ベースのレンダラー、またはスペクトル レンダラー。各バリアントでは、
必要に応じて、分極の影響をオプションで考慮します。
チュートリアルビデオ、ドキュメント
優しい紹介を提供する YouTube ビデオをいくつか録画しました。
ミツバ3とドクタージット。さらに、完全な Juypter ノートブックを見つけることができます。
さまざまなアプリケーション、ハウツー ガイド、リファレンス ドキュメントを網羅
readthedocs で。
インストール
PyPI 経由でコンパイル済みのバイナリ ホイールを提供します。この方法でのMitsubaのインストールは、実行するのと同じくらい簡単です
pip インストールミツバ
コマンドラインで。 Python パッケージにはデフォルトで 13 のバリアントが含まれています。
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
最初の 2 つは、RGB のいずれかを使用して、一度に 1 レイずつの古典的なシミュレーションを実行します。
またはスペクトル色表現、後者の 2 つは逆変換に使用できます。
CPU または GPU でのレンダリング。追加のバリアントにアクセスするには、次のことを行う必要があります。
CMake を使用して Dr.Jit のカスタム バージョンをコンパイルします。をご覧ください。
ドキュメント
詳細については。
要件
Python >= 3.8
(オプション) GPU での計算の場合: Nvidia driver >= 495.89
(オプション) CPU でのベクトル化/並列計算の場合: LLVM >= 11.1
使用法
これは、レンダリングがいかに簡単であるかを示す単純な「Hello World」の例です。
PythonからMitsuba 3を使用したシーン:
# エイリアス "mi" を使用してライブラリをインポートしますimport tsuba as mi# renderer のバリアントを設定しますmi.setvariant('scalarrgb')# シーンをロードしますscene = mi.loaddict(mi.cornellbox())# シーンをレンダリングしますimg = mi。 render(scene)# レンダリングされたイメージを EXR ファイルに書き込みますmi.Bitmap(img).write('cbox.exr')
さまざまなアプリケーションをカバーするチュートリアルとノートブックの例が見つかります。
ドキュメントにあります。
について
このプロジェクトは Wenzel Jakob によって作成されました。
コードの重要な機能や改善は、次の寄稿者によって行われました。
セバスチャン・シュパイラー
ニコラ・ルーセル
マーリン・ニミエ=デイヴィッド
デリオ・ヴィチーニ
ティツィアン・ツェルトナー
バティスト・ニコレット
ミゲル・クレスポ
ヴァンサン・リロイと
チャン・ツィイー。
学術プロジェクトでMitsuba 3を使用する場合は、以下を引用してください。
@software{Mitsuba3,title = {Mitsuba 3 renderer},author = {Wenzel Jakob、Sébastien Speierer、Nicolas Roussel、Merlin Nimier-David、Delio Vicini、Tizian Zeltner、Baptiste Nicolet、Miguel Crespo、Vincent Leroy、Ziyi Zhang},note = {https://tsuba-renderer.org}、バージョン = {3.1.1}、年 = 2022}