Rednerは、任意のシーンパラメーターに関してレンダリング出力の派生物を採取できる微分可能なレンダラーです。つまり、画像から3Dシーンにバックプロパゲートできます。 Rednerの主要な使用法の1つは、勾配降下による逆レンダリング(したがってRednerという名前)です。 Rednerを際立たせるのは次のとおりです。1)不連続性を適切に考慮して、近似なしで正しいレンダリング勾配を計算し、2)物理ベースのモードを持っていることを意味します。また、ローカルシェーディングのために高速延期レンダリングモードでRednerを使用することもできます。このモードでは、最も微分可能なレンダラーと比較して、正しい勾配推定とより精巧な材料モデルがまだあります。
レンダラー、それができること、およびデリバティブの計算に使用する手法の詳細については、エッジサンプリングを通過する微分可能なモンテカルロレイ、ツーマオイ、ミイカ・アッタラ、フレド・デュランド、ジャココ・レーティネン。提出以来、レンダラーをかなり改善しました。特に、CUDAバックエンドを実装し、自動分化を手動で由来する誘導体に置き換えることにより、連続誘導体を大幅に加速しました。さらに詳細については、Tzu-Mao Liの論文を参照してください。また、Changelogについては、以下の「ニュース」セクションも参照してください。
Pytorch(任意のバージョン> = 1.0)またはTensorflow(バージョン> = 2.0)が現在のPython環境にインストールされています。 GPU加速バージョン(Linux and Windows、Cudaバージョン> = 10.0)の場合:
pip install redner-gpu
それ以外の場合は(Windows、Linux、OS X):
pip install redner
Windowsバージョンは、現時点ではPytorchのみをサポートしており、Tensorflowではありません。
ソースから構築することもできます。建物の指示については、wikiを参照してください。
Rednerの使用方法を学ぶのに適した出発点は、Wikiを見ることです。 APIドキュメットはこちらです。また、テストディレクトリ(PytorchとTensorflow)を見て、いくつかのアイデアを得ることもできます。
06/12/2020 -Python 3.8サポート。
04/01/2020-カメラの歪みモデルを追加しました。
03/17/2020-ウィンドウ用のピップパッケージ!現在、Pytorchサポートのみがあります。 Tensorflowのサポートは、いくつかの編集の問題で保留中です。
02/27/2020- BRDF誘導体のバグを修正しました。これは、通常のマッピングに影響します。これを報告してくれたMarkus Worchelに再び感謝します。
02/02/2020- Gバッファレンダリングの重大なバグを修正しました(#93)。これを報告してくれたMarkus Worchelに感謝します。
02/01/2020-GPUの予備的なウィンドウサポートは、Markus Worchelのおかげで利用可能です。
01/08/2020-マップマッピングのメモリ使用量を大幅に改善します。これで、大きなテクスチャ(4096x4096など)を比較的安全に使用できます。
12/15/2019 -0.1.30でPytorchレンダリングコードのGC関連バグを修正しました。更新してください。
2019年12月12日 - Markus Worchelの貢献により、予備的なWindowsサポート(CPUのみ)が利用可能です。
12/09/2019-Google Colabを使用してWikiに多くのチュートリアルを追加しました。スフィンクス生成ドキュメントを追加しました。
12/09/2019-波面OBJローダーのバグを修正しました。報告してくれたDejanAzinovićに感謝します!
12/01/2019-ビルドシステムをやり直し、Pythonホイールのインストールをセットアップします。 Rednerは現在、Pypi(https://pypi.org/project/redner-gpu/およびhttps://pypi.org/project/redner/)にいます。
11/04/2019-任意の数のチャネルを持つことができる素材に「一般的なテクスチャ」フィールドを追加しました。これは、テクスチャがネットワークによって生成され、出力がさらなる処理のために別のネットワークに供給される深い学習アプリケーションに役立ちます。使用法については、test_multichannel.pyを参照してください。実装に関する提案と助けに感謝します。
11/04/2019- uv_indicesとnormal_indices変更によって導入されたOBJ/Mitsubaローダーのいくつかのバグを修正しました。
10/19/2019-頂点カラーサポートを追加しました。 test_vertex_color.pyを参照してください。
10/08/2019- Xatlasライブラリを介して自動UV計算を追加しました。 shape.pyおよびtest_compute_uvs.pyのcompute_uvs関数を参照してください。
10/08/2019-シェイプクラスインターフェイスをわずかに変更しました。コンストラクターの順序は異なり、UVマッピングとOBJロードで縫い目を扱うための追加の「uv_indices」および「normor_indices」引数が必要になりました。 pyredner/shape.pyおよびチュートリアル2を参照してください。
2019年9月22日 - 今では、ほとんどの場合、ゼロを返すのではなく、シェーディング正規とジオメトリ正常性の間の矛盾をより優雅に処理します。これは、たとえばShapenetのモデルでモデルをレンダリングするのに役立ちます。
09/21/2019-放射輝度出力チャネルがない場合、延期されたレンダリングコードの重大なバッファオーバーランバグを修正しました。物事がうまくいかなかった場合は、もう一度やり直してください。
08/16/2019-インストールを容易にするためにDockerファイルを追加しました。再び貢献してくれたSeyoung Parkに感謝します。また、Wikiインストールガイドを大幅に改善しました。
08/13/2019-通常のマップサポートを追加しました。 tests/test_teapot_normal_map.pyを参照してください。
08/10/2019-誘導体の蓄積コード(セグメント化された削減 - > Atomics)を大幅に単純化しました。また、GPUバックワードパスは20〜30%のスピードアップを得ました。
08/07/2019-粗さのテクスチャバグを修正しました。
07/27/2019 -Tensorflow 1.14サポート!現在、熱心な実行のみをサポートしています。 Tensorflow 2.0が安定した後、グラフの実行をサポートします。例については、tests_tensorflowを参照してください(tests_tensorflow/test_single_triangle.pyから始めることをお勧めします)。 Cmakeファイルは、PythonのTensorflowを自動的に検出し、対応するファイルをインストールする必要があります。チュートリアルは進行中です。貢献してくれたSeyoung Parkに感謝します!
06/25/2019-正書法カメラを追加しました(例/2_D_MESH.pyを参照)。
05/13/2019-カメラ誘導体に関連するかなりの数のバグを修正しました。以前に何かが機能しなかった場合は、もう一度やり直してください。
04/28/2019 -QMCサポートを追加しました(tests/test_qmc.pyを参照し、pyredner.serialize_scene()のドキュメントを参照)。
04/01/2019 -Multi -GPUをサポートします(pyredner.set_deviceを参照)。
03/31/2019-論文の階層エッジサンプリング方法を取り戻しました。
02/02/2019-ウィキには一連のチュートリアルが含まれています。計画は、例をさらに拡大することです。
Rednerは、すべてリポジトリに含まれているいくつかのライブラリ/システムに依存しています。
現在の開発計画は、レンダラーを強化することです。近い将来に次の機能が追加されます(特定の順序でリストされていません)。
@article{Li:2018:DMC,
title = {Differentiable Monte Carlo Ray Tracing through Edge Sampling},
author = {Li, Tzu-Mao and Aittala, Miika and Durand, Fr{'e}do and Lehtinen, Jaakko},
journal = {ACM Trans. Graph. (Proc. SIGGRAPH Asia)},
volume = {37},
number = {6},
pages = {222:1--222:11},
year = {2018}
}
ご質問/コメント/バグレポートがある場合は、著者Tzu-Mao Li([email protected])にgithubの問題または電子メールを自由に開いてください。