雷德納(Redner)是一個可區分的渲染器,可以將渲染輸出的衍生劑相對於任意場景參數,也就是說,您可以將圖像從圖像倒退到3D場景。 Redner的主要用法之一是通過梯度下降(因此名稱Redner)逆渲染。 Redner與眾不同的是:1)它可以通過正確考慮不連續性來計算正確的渲染梯度,而無需任何近似值,而2)它具有基於物理的模式 - 這意味著它可以模擬光子並產生逼真的照明現象,例如陰影和全局照明,並且可以正確地處理這些功能的衍生物。您也可以在快速遞延渲染模式下使用Redner進行本地陰影:與大多數可區分渲染器相比,它仍然具有正確的梯度估計和更精細的材料模型。
有關渲染器的更多詳細信息,它可以做什麼以及它用於計算衍生品的技術,請查看論文:可區分的蒙特卡洛·卡洛·雷(Monte Carlo Ray),通過邊緣採樣,tzu-mao li,miika aittala,miika aittala,fredo durand,fredo durand,jaakko lehtinen。自提交以來,我們已經改善了渲染器。特別是我們實施了CUDA後端,並通過用手動衍生的衍生物替換自動分化來顯著加速連續衍生物。有關更多細節,請參見Tzu-Mao Li的論文。還請參見下面的“新聞”部分以獲取ChangElog。
使用Pytorch(任何版本> = 1.0)或張量(版本> = 2.0)安裝在您當前的Python環境中。對於GPU加速版本(Linux和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 -Windows PIP包!目前只有Pytorch支持。 TensorFlow支持正在待定一些彙編問題。
02/27/2020-修復了BRDF導數中的錯誤。這對正常映射最大。再次感謝Markus Worchel報告了這一點。
02/02/2020-修復了G -Buffer渲染的嚴重錯誤(#93)。感謝Markus Worchel報告了這一點。
02/01/2020-由於Markus Worchel再次提供了對GPU的初步窗口支持。
01/08/2020-顯著改善了MIPMapping的內存使用情況。現在,您可以相對安全地使用大型紋理(例如4096x4096)。
12/15/2019-修復了pytorch渲染代碼上的GC相關錯誤,以0.1.30的形式修復。請更新。
12/12/2019-由於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_multichannels.py。感謝FrançoisRuty的建議和實施幫助。
11/04/2019-修復了uv_indices和normal_indices引入的OBJ/Mitsuba加載程序中的幾個錯誤。
10/19/2019-添加了頂點顏色支持。請參閱test_vertex_color.py。
10/08/2019-通過XATLAS庫添加了自動紫外線計算。請參閱shape.py和test_compute_uvs.py中的compute_uvs函數。
10/08/2019-稍微更改了形狀類接口。構造函數的順序是不同的,現在需要額外的“ UV_INDICES”和“ normal_indices”參數,以處理UV映射和OBJ加載中的接縫。參見pyredner/shape.py和教程2。
09/22/2019-我們現在更優雅地處理陰影正態和幾何形狀正態之間的不一致(而不是在大多數情況下僅返回零)。這有助於在Shapenet中渲染野外模型。
09/21/2019-在沒有輻射輸出通道時,修復了遞延渲染代碼中嚴重的緩衝區覆蓋錯誤。如果事情對您不起作用,也可以再試一次。
08/16/2019-添加了Docker文件,以便於安裝。再次感謝Seyoung公園的貢獻。我也大大改善了Wiki安裝指南。
08/13/2019-添加了正常地圖支持。請參閱tests/test_teapot_normal_map.py。
08/10/2019-顯著簡化了衍生物累積代碼(分割減少 - >原子)。 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-添加了拼字攝像機(請參閱示例/twe_d_mesh.py)。
05/13/2019-修復了許多與攝像機導數相關的錯誤。如果以前有些事情對您不起作用,也可以再試一次。
04/28/2019-添加了QMC支持(請參閱tests/test_qmc.py和pyredner.serialize_scene()中的文檔)。
04/01/2019-現在支持多GPU(請參閱pyredner.set_device)。
03/31/2019-將論文中的分層邊緣採樣方法帶回了。
02/02/2019- Wiki現在包含一系列教程。該計劃是進一步擴大示例。
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}
}
如果您有任何疑問/評論/錯誤報告,請隨時打開github問題或電子郵件給作者tzu-mao li([email protected])