Redner - это дифференцируемый рендеринг, который может взять производные от рендеринга выходов в отношении произвольных параметров сцены, то есть вы можете обращаться с изображением с изображения в свою трехмерную сцену. Одним из основных использования Redner является обратное рендеринг (отсюда и название Redner) через градиент спуск. То, что выделяет Redner, так это: 1) он вычисляет правильные градиенты рендеринга, стохастически без какого-либо приближения, правильно рассмотрив разрывы, и 2) он имеет физически основанный режим-что означает, что он может имитировать фотоны и создавать реалистичные явления освещения, такие как тень и глобальное освещение, и он обрабатывает производные этих функций. Вы также можете использовать Redner в режиме быстрого отложенного рендеринга для локального затенения: в этом режиме он по -прежнему имеет правильную оценку градиента и более сложные модели материала по сравнению с самыми дифференцируемыми визуализаторами.
Для получения более подробной информации о визуализаторе, о том, что он может сделать, и о методах, которые он использует для вычисления производных, посмотрите на статью: дифференцируемый Монте-Карло Рэй, прослеживающий через выборку края, Цу-Мао Ли, Мика Аттала, Фредо Дюран, Джаакко Лехтинен. С момента представления мы немного улучшили рендеринг. В частности, мы внедрили бэкэнд CUDA и значительно ускорили непрерывные производные, заменив автоматическую дифференциацию на производные вручную. См. Тезис Цу-Мао Ли для еще большей детали. Также см. В разделе «Новости» ниже для Changelog.
С помощью Pytorch (любая версия> = 1.0) или Tensorflow (версия> = 2.0) установлена в вашей текущей среде Python. Для ускоренной версии GPU (Linux и Windows, версия CUDA> = 10.0):
pip install redner-gpu
В противном случае (Windows, Linux и OS X):
pip install redner
Версия Windows поддерживает только Pytorch, а не Tensorflow в данный момент.
Вы также можете построить из источника. Смотрите вики для строительства инструкций.
Хорошая отправная точка, чтобы узнать, как использовать Redner, - это смотреть на вики. Допущение API здесь. Вы также можете взглянуть на каталоги тестов (Pytorch и Tensorflow), чтобы иметь некоторые идеи.
12/12/2020 - Поддержка Python 3.8.
04/01/2020 - добавлена модель искажения камеры.
17.03.2020 - Пакет PIP для Windows! В настоящее время только с поддержкой Pytorch. Поддержка TensorFlow находится на рассмотрении с некоторыми проблемами компиляции.
27.02.2020 - Исправлена ошибка в производных BRDF. Это больше всего влияет на нормальное отображение. Еще раз спасибо Маркус Уоркель за то, что сообщили об этом.
02/02/2020 - Исправлена серьезная ошибка для рендеринга G -Buffer (#93). Спасибо Маркусу Вучелю за то, что сообщили об этом.
01.02.2020 - Предварительная поддержка Windows для GPU доступна благодаря Маркусу Уоркелю снова.
01/08/2020 - значительно улучшает использование памяти MIPMAPP. Теперь вы можете использовать большие текстуры (скажем, 4096x4096) относительно безопасно.
15.12.2019 - Исправлена ошибка, связанная с GC в коде рендеринга Pytorch в 0,1.30. Пожалуйста, обновите.
12.12.2019 - Предварительная поддержка Windows (только CPU) доступна благодаря вкладу Маркуса Уоркеля.
12/09/2019 - добавлено много учебных пособий в вики с использованием Google Colab. Добавлена сфинкс, сгенерированная документацией.
12/09/2019 - Исправлена ошибка в погрузчике с волновым фронтом. Спасибо Дежан Азинович за сообщения!
01.12.2019 - Перераспределите системы сборки и установку установки колеса Python. Реднер сейчас находится на PYPI (https://pypi.org/project/redner-gpu/ и https://pypi.org/project/redner/).
04.11.2019 - добавлено поле «общая текстура» в материале, которое может иметь произвольное количество каналов. Это может быть полезно для приложения глубокого обучения, где текстура генерируется сетью, а выход подается в другую сеть для дальнейшей обработки. См. Test_multichannels.py для использования. Спасибо Франсуа Рути за предложение и помощь в реализации.
04.11.2019 - Исправлено несколько ошибок в загрузке OBJ/Mitsuba, введенные uv_indices и изменение normal_indices .
19.10.2019 - Добавлена поддержка цвета вершины. См. Test_vertex_color.py.
10/08/2019 - Добавлены автоматические УФ -вычисления через библиотеку Xatlas. См. Функцию compute_uvs в shape.py и test_compute_uvs.py.
10/08/2019 - слегка изменил интерфейс класса формы. Порядок конструктора отличается, и теперь он требует дополнительных аргументов «uv_indices» и «normal_indices» для работы со швами в УФ -картировании и загрузке OBJ. См. Pyredner/Shape.py и Tuperial 2.
22.09.2019 - Теперь мы обрабатываем несоответствия между нормами затенения и нормами геометрии более изящно (вместо того, чтобы просто возвращать ноль в большинстве случаев). Это помогает с визуализацией моделей в дикой природе, скажем, моделей в Shapenet.
21.09.2019 - Исправлена серьезная ошибка переосмысления буфера в коде отложенного рендеринга, когда нет выходного канала Radiance. Если вам не подойдет, может быть, попробуйте еще раз.
16.08.2019 - Добавлены файлы Docker для облегчения установки. Спасибо Seyoung Park за вклад. Также я значительно улучшил руководство по установке вики.
13.08.2019 - Добавлена нормальная поддержка карты. См. Tests/test_teapot_normal_map.py.
08/10/2019 - значительно упростил код накопления производных (сегментированное сокращение -> Атомика). Также графический процессор обратный пропуск получил ускорение 20 ~ 30%.
08/07/2019 - Исправлена ошибка текстуры шероховатости.
27.07.2019 - Tensorflow 1.14 Поддержка! В настоящее время поддерживает только стремление. Мы будем поддерживать выполнение графа после того, как TensorFlow 2.0 станет стабильным. См. Tests_tensorflow для примеров (я рекомендую начать с tests_tensorflow/test_single_triangle.py). Файлы Cmake должны автоматически обнаружить TensorFlow в Python и устанавливать соответствующие файлы. Учебные пособия находятся в стадии разработки. Большое спасибо, идите в Seyoung Park за вклад!
25.06.2019 - Добавлены орфографические камеры (см. Примеры/twa_d_mesh.py).
13.05.2019 - Исправлено довольно много ошибок, связанных с производными камеры. Если что -то не сработало для вас раньше, может быть, попробуйте еще раз.
28.04.2019 - Добавлена поддержка QMC (см. Tests/test_qmc.py и документация в pyredner.serialize_scene ()).
01.04.2019 - теперь поддерживает Multi -GPU (см. Pyredner.set_device).
31.03.2019 - вернул метод отбора проб иерархического края в статье.
02/02/2019 - Вики теперь содержит серию учебных пособий. План состоит в том, чтобы дополнительно расширить примеры.
Реднер зависит от нескольких библиотек/систем, которые все включены в хранилище:
Текущий план разработки заключается в улучшении рендерера. Следующие функции будут добавлены в ближайшем будущем (не указано в каком -либо конкретном порядке):
@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])