雷德纳(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])