このドキュメントでは、オープンソースのチケット予約システムである alf.io と、研究指向のレンダリング システムである Mitoba 3 に関する包括的な情報を提供します。両方のプロジェクトの前提条件、インストール手順、使用例、貢献ガイドラインを、それぞれの機能や開発状況に関する情報とともに詳しく説明します。対象となる主な側面には、ビルド プロセス、Docker 統合、依存関係管理が含まれます。
アルフアイオ
オープンソースのチケット予約システム。
Alf.io ([ˈalfjo]) は、顧客のプライバシー、セキュリティ、公正な価格設定ポリシーを重視するイベント主催者向けに開発された、無料のオープンソースのイベント出席管理システムです。
前提条件
alf.io をビルドして実行するには、Java バージョン 17 (Oracle、OpenJDK、またはその他のディストリビューションなど) をインストールしておく必要があります。ビルドプロセスには JDK が必要であることに注意してください。
PostgreSQL バージョン 10 以降。
さらに、テーブルを作成および使用するデータベース ユーザーは「SUPERUSER」であってはなりません。そうしないと、行セキュリティ ポリシー チェックが適用されません。
注記
Alf.io v2 の作業が開始されているため、このブランチには不安定でテストされていないコードが含まれている可能性があります。
alf.io を自分でビルドしてデプロイする場合は、リリースされたバージョンから開始してください。
スプリングプロファイル
以下のスプリングプロファイルがあります
開発モードで実行する
グラドルビルド
このビルドには、Gradle ラッパーのコピーが含まれています。ビルドするためにシステムに Gradle をインストールする必要はありません
プロジェクト。たとえば、適切なタスクとともにラッパーを実行するだけです。
複数のプロファイルで実行する
コマンド ラインでプロジェクト プロパティを指定する必要があります。たとえば、
ローカルの「bootRun」タスクには次の前提条件があります。
alf.io が開始されると、データベース内に必要なテーブルがすべて作成され、http://localhost:8080/admin で利用可能になります。デフォルトのユーザー名 admin と、コンソールに表示されたパスワードを使用してログインできます。
次のコマンドを実行すると、サポートされているすべての Gradle タスクのリストを取得できます。
次のファイルを作成し、1 行に 1 つのプロパティを追加することで、追加のシステム プロパティを構成できます (必要な場合)。
このファイルには機密情報 (Google マップのプライベート API キーなど) が含まれている可能性があるため、git によって自動的に無視されることに注意してください。
デバッグ用
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 という新しい行をcustom.jvmargsに追加します。
alf.io への貢献
Gradle プロジェクトを Intellij と Eclipse にインポートすると、両方とも機能します。
注:
TestContainers はコンテナーを管理するために Docker ソケットを想定しているため、次のことを行う必要があります (詳細については元の問題を参照してください)。
2 つの環境を定義します。変数:
そして、別のコンソールで実行します。
注意すべき点:
更新する依存関係を確認する
./gradlew 依存関係更新
Dockerコンテナの実行
コンテナー イメージは https://hub.docker.com/r/alfio/alf.io/tags で入手できます。
alf.io は、Docker Compose (開発モード) で実行することもできます。
Docker compose を使用して本番環境で alf.io を実行することは、正式にはサポートされていません。
ただし、そうする場合は、いくつかの変更を加える必要があります。
alf.io アプリケーションをテストする
新しいバージョンの alfio/alf.io Docker イメージを生成します
アプリケーションと Dockerfile をビルドする
あるいは、Docker (実験版) を使用することもできます。
現時点では、上記のコマンドは自動テストを実行せずにビルドを実行することに注意してください。
ご自身の責任でご使用ください。
Docker イメージを作成します。
同梱のAppleWWDRCAG4.cerについて
src/main/resources/alfio/certificates/AppleWWDRCAG4.cer の証明書は、https://github.com/ryantenney/passkit4j#usage 機能用にインポートされました。
有効期限は 2030 年 10 月 12 日 (YYYY-MM-DD - https://www.apple.com/certificateauthority/ 時点) となります。
貢献者
コードの貢献者
このプロジェクトは、貢献してくださるすべての人々のおかげで存在します。
翻訳貢献者 (POEditor)
POEditor で私たちを助けてくれた翻訳者の方々にも大きな「ありがとう」を送ります。
(明示的な同意を得た場合にのみ、完全な名前/プロフィールが表示されます)
翻訳は完了したがまだ統合されていない (WIP)
スポンサー
このプロジェクトは以下によって後援されています。
資金提供者
財政的に貢献して、コミュニティの維持にご協力ください。 [貢献する]
個人
組織
あなたの組織でこのプロジェクトをサポートしてください。あなたのロゴがあなたの Web サイトへのリンクとともにここに表示されます。 [貢献する]
ミツバレンダラー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}