このドキュメントでは、焦点の異なる 2 つの異なるプロジェクトである Helidon と Mitoba 3 の概要を説明します。 Helidon は、マイクロサービスを構築するための Java ライブラリのセットであり、Java 21 の仮想スレッドを活用してパフォーマンスの向上と開発の簡素化を実現します。一方、Mitsuba 3 は、高性能、クロスプラットフォーム機能、Python 統合を提供する研究指向のレンダリング システムです。どちらのプロジェクトも広範なドキュメントを提供しており、寛容なオープンソース ライセンスの下で使用できます。
Helidon: マイクロサービス用の Java ライブラリ
Project Helidon は、マイクロサービスを作成するための Java ライブラリのセットです。
Helidon は 2 つのプログラミング モデルをサポートしています。
どちらの場合も、アプリケーションは Java SE プログラムであり、
新しい Helidon Níma WebServer はゼロから書かれています。
Java 21 仮想スレッドを使用します。 Helidon 4 を使用すると、リクエストごとのスレッド スタイルのプログラミングのシンプルさとともに、リアクティブ サーバーの高いスループットが得られます。
Helidon 4 の Helidon SE API は、Helidon 3 から大幅に変更されました。仮想スレッドの使用により、これらの API は非同期からブロッキングに変更されるようになりました。これにより、コードが非常に単純になり、記述、保守、デバッグ、理解が容易になります。これらの新しい API で実行するには、以前の Helidon SE コードを変更する必要があります。詳細については、Helidon SE アップグレード ガイドを参照してください。
Helidon 4 は MicroProfile 6 をサポートしています。これは、既存の Helidon MP 3.x アプリケーションがわずかな変更を加えるだけで Helidon 4 上で実行できることを意味します。また、Helidon の MicroProfile サーバーは新しい Níma WebServer に基づいているため、仮想スレッドで実行する利点をすべて得ることができます。詳細については、Helidon MP アップグレード ガイドを参照してください。
ヘリドンは初めてですか?それから飛び込んで始めましょう。
Helidon 4 を使用するには Java 21 が必要です。
ライセンス
Helidon は、Apache License 2.0 に基づいて利用できます。
ドキュメント
最新のドキュメントと Javadoc は、https://helidon.io/docs/latest で入手できます。
Helidon ホワイトペーパーはここから入手できます。
始めましょう
https://helidon.io で「はじめに」を参照してください。
ダウンロード / バイナリへのアクセス
Helidon のダウンロードはありません。 Maven リリース (GroupID io.helidon) を使用してください。
https://helidon.io で「はじめに」を参照してください。
ヘリドン CLI
macOS:
Linux:
Windows:
詳細については、このドキュメントを参照してください。
建てる
Helidon 4 をビルドするには JDK 21 が必要です。
Maven も必要です。 3.8.0 以降を推奨します。
フルビルド
チェックスタイル
著作権
スポットバグ
ドキュメント
ビルドスクリプト
ビルド スクリプトは etc/script にあります。これらは主にパイプラインで使用されます。
ただし、変更を確認するためにデスクトップで使用すると便利なものがいくつかあります。
助けてもらう
貢献する
最新情報を入手
例:
ミツバレンダラー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}