Лучевая трассировка против объектно-ориентированного рендеринга?

19

В курсах интро графики обычно есть проект, в котором вас попросят создать трассировщик лучей для рендеринга сцены. Многие студенты-графиков, поступающие в аспирантуру, говорят, что хотят работать над трассировкой лучей. И все же кажется, что трассировка лучей - мертвое поле в таких местах, как SIGGRAPH и т. Д.

Является ли трассировка лучей действительно лучшим способом точного рендеринга сцены при любом желаемом освещении и т. Д., И только медленная (неинтерактивная) работа трассировщиков лучей делает их неинтересными, или есть что-то еще?

Суреш
источник
Может быть, трассировка лучей уже сделана.
Дейв Кларк
Я думаю, что заголовок вопроса нуждается в редактировании, Raytracing - это рендерер на основе пикселей, возможно, его следует перефразировать как «Raytracing vs Object-based рендеринг» или «Raytracing vs Rasterization»
aaecheve
Я изменю название.
Суреш
@DaveClarke: Не уверен, что это значит?
Суреш
Больше никаких исследований - я должен избегать сленга.
Дейв Кларк

Ответы:

11

Raytracing - очень хороший и интуитивно понятный алгоритм, и он является более физически реалистичным способом описания освещения сцены, чем растеризация, но:

  • Трассировка лучей медленная, особенно если вы хотите реализовать более реалистичные эффекты, которые отличают ее от растеризации (например, преломление, отражение, размытие движения, мягкие тени), потому что это подразумевает создание гораздо большего количества лучей на пиксель.
  • Большинство людей не могут определить разницу между реальными и фальшивыми эффектами, что, я думаю, является ключевым моментом. Целью практического алгоритма рендеринга является создание фотореалистичного представления сцены наиболее эффективным способом, и сейчас Rasterization, хотя и использует много хаков, очень хорошо справляется с этой задачей.
  • Существует множество других практических ограничений Raytracing по сравнению с средством Rasterization: плохое сглаживание и отображение смещения, ограниченное создание экземпляров и т. Д.

Даже в неинтерактивных приложениях, таких как фильмы, Raytracing используется очень мало из-за его ограничений. Pixar только начал использовать Raytracing в Cars, и только для некоторых специфических эффектов отражения ( Ray Tracing для фильма 'Cars' ).

Вот отличная статья, которая более подробно описывает текущее состояние Raytracing и его преимущества и недостатки: State of Ray Tracing (в играх) .

aaecheve
источник
8

Базовая трассировка лучей имеет серьезную проблему, связанную с окружающим светом. Большинство моделей освещения рассматривают окружающий свет как постоянный фактор, пронизывающий эфир. Хотя трассировка лучей отлично подходит для расчета отражений, она страдает от численной нестабильности и сложных испытаний на пересечение поверхности. Трассировка лучей может плохо работать с аппаратным ускорением рендеринга, поскольку рекурсия играет важную роль в определении освещенности для любого конкретного пикселя. Базовая трассировка лучей в вычислительном отношении очень дорога.

Radiosity лучше обрабатывает окружающий свет, поскольку он рассматривает все объекты в окружающей среде как источники света, создавая модель освещения, которая в некотором роде более реалистична, чем трассировка лучей. При использовании решения для измерения радиации в сцене имеется фиксированное количество полигонов, и вычисления поддаются аппаратному ускорению.

В конечном счете, лучевая трансформация - это не лучший способ рендеринга сцены, но это компонент хорошей стратегии рендеринга. Высокая стоимость вычислений и плохое окружающее освещение являются серьезным ударом по трассировке лучей. В качестве темы исследования продолжается работа , но, похоже, она сосредоточена на аппаратном ускорении.

Джон Персиваль Хэкворт
источник
Обратите внимание, что один из наиболее распространенных способов выполнения излучения (в частности, обработки любых зеркальных аспектов параметров излучения и общих функций излучения) включает трассировку лучей! Действительно, трассировка лучей и излучение являются приблизительными значениями к уравнению рендеринга.
Стивен Стадницки
Правда что. Подход базового излучения (как это для оксюморон?) Требует чего-то вроде трассировки лучей для отражения и отражения.
Джон Персиваль Хэкворт
4

Я бы не сказал, что трассировка лучей / трассировка трасс не работает ... во всяком случае, возрождается популярность в этой области благодаря внутреннему параллелизму многих связанных алгоритмов в этой области в сочетании со скоростью Системы на базе графических процессоров, позволяющие вычислять миллионы лучей в секунду. К этому добавляется гибкость в конвейере рендеринга, которую позволяют использовать более общие языки, такие как CUDA и OpenCL, которые позволяют разработчикам использовать параллельную функциональность графического процессора без необходимости явного использования графического конвейера OpenGL, подобно методам начального GPGPU. Вот некоторые известные примеры продолжающихся исследований по отслеживанию пути:

  • Исследование Даниэля Поля и других в группе Intel Advanced Render
  • Двигатель Nvidia Optix
  • SIGGRAPH в прошлом году включал пару курсов по синтезу изображений Монте-Карло, а также обсуждение новейших методов оценки плотности фотонов.

Наконец, у вас есть много исследований, посвященных методам оптимизации для глобальной проблемы освещения, включая точечное глобальное освещение, фотонное картирование и связанные с ними оптимизации, расширенное моделирование внешнего вида (включая методы на основе данных), кэширование освещенности и т. Д., И т. Д., И т. Д.

Джейсон
источник