Монте-Карло-Raytracer с Radeon Rays и OpenCL 1.2
Функции
- Обычный трассировщик пути
- Двунаправленный трассировщик пути
- Источники света
- Направленный свет
- Точечный свет
- Районные огни
- Графический интерфейс с редактируемой сценой
- Убер Материал
- Глянцевое отражение и пропускание: микрофасетные BRDF и BTDF Торренса-Спарроу с распределением Троубриджа-Рейца для диэлектриков
- Зеркальная передача
- Зеркальное отражение
- Ламбертово отражение
- Нормальное отображение
- В настоящее время используется случайный сэмплер, однако его можно изменить на Sobol с помощью #define в файле assets/kernels/samplers.cl.
Строить
- git clone --recursive https://github.com/compix/Monte-Carlo-Raytracer.git
- CMake — в настоящее время поддерживается только Windows, для поддержки Linux необходимо внести незначительные изменения.
- Протестировано в Windows 10, скомпилировано с помощью Visual Studio 2017 (со встроенной поддержкой CMake).
Соответствующие источники
- Фарр, Мэтт, Венцель Якоб и Грег Хамфрис: Физический рендеринг: от теории к реализации. Морган Кауфманн, 2016.
- Вич, Эрик: Надежные методы Монте-Карло для моделирования легкого транспорта. Номер 1610. Докторская диссертация Стэнфордского университета, 1997 г.
- Торранс, Кеннет Э и Эфраим М. Воробей: Теория незеркального отражения от шероховатых поверхностей. Джоса, 57(9):1105–1114, 1967.
- Троубридж, Т.С. и Карл П. Рейтц: Среднее представление неровностей шероховатой поверхности для отражения лучей.
- Мунши, Аафтаб: Версия спецификации OpenCL: 1.2, редакция документа: 19, 2012 г. https://www.khronos.org/registry/OpenCL/specs/opencl-1.2.pdf
- Radeon Rays: https://www.amd.com/de/technologies/radeon-rays
- Соболь Илья Меерович: О распределении точек в кубе и приближенном вычислении интегралов.
- Морган Макгуайр, Архив компьютерной графики, июль 2017 г. (https://casual-effects.com/data)