Объективный Рендеринг

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

Изображение получается таким, каким оно должно быть в природе, а в рендере нет настроек качества поверхностей и источников света.



Объективный рендеринг

Изображение визуализировано с помощью Maxwell Render. Начнем с плохого Когда вышли анбиасы, они были плохо оптимизированы и железо было гораздо слабее.

Даже четырехъядерные процессоры были редкостью, по крайней мере, в СНГ.

Многие дизайнеры отказались от таких рендеров из-за того, что им приходилось слишком долго ждать, пока шум исчезнет с картинки.

Для многих профессионалов это намного проще.

настраивать Глобальное освещение в Vray и постобработка в Photoshop обычно занимает 2-3 часа, вместо того, чтобы нажать кнопку «рендер» в Maxwell и ждать приемлемого качества, скажем, 8 (или более) часов.

Иногда шум от какой-то рефракции не пропадал сутками.

А что в них хорошего? Физически точные эффекты: — глобальное освещение , (включая едкий ); — глубина резкости (ГРИП) и покачиваться (Размытость); — подповерхностное рассеяние ; — некоторые рендереры даже поддерживают дисперсия ; - мягкие тени, реалистичные отражения, в общем все как в жизни.

Все эти эффекты мы видим с первых секунд рендеринга.

Время рендеринга мало зависит от количества треугольников, это позволяет не экономить ресурсы на их количестве.

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

А сами рендереры начали создавать более качественные изображения при тех же вычислительных затратах.

Давайте посмотрим Как выглядит процесс рендеринга:

Объективный рендеринг

Core i5 2500 3,3ГГц, Maxwell Render 2.6, 400к треугольников, модель создана мной в 3ds Max. Рендеринг Anbias основан на трассировке пути с различными типами оптимизации.

(Некоторые посетители, возможно, заметили, что я уже писал статьи о трассировке путей на графическом процессоре.

опубликовано И опубликовано .

Но я решил осветить тему глубже и обширнее.

) *** АЛГОРИТМ Path Tracing (PT) основан на интеграции Монте-Карло.

Чем больше сэмплов мы посчитаем на 1 пиксель (цвет пикселя = среднее арифметическое цветов всех сэмплов на данный момент), тем точнее будет результат. Образец — это луч, который, пройдя путь отражений и преломлений через сцену (от камеры к источнику света), формирует цвет окрашенного пикселя в определенной точке изображения.

Превью изображения (зашумленную картинку) мы получаем практически сразу после вокселизации (об этом позже).

Количество образцов не может быть бесконечным.

Никогда не будет «идеальной» картины; это займет бесконечное количество времени.

Рендеринг можно считать завершенным, если шум не виден глазу.

(обычно 1000 — 10 000 сэмплов на пиксель или 2-20 миллиардов сэмплов на FullHD-изображение, в особых случаях — даже больше).

Также не следует забывать, что небольшой шум делает изображение более реалистичным.

Чем сложнее пути, по которым проходят лучи, тем медленнее будет исчезать шум.

Самый простой способ — рендерить источники света.

Лучи источников света напрямую попадают в камеру.

Сложнее визуализировать объекты, освещенные прямыми лучами источников света.

Еще сложнее обстоят дела с объектами, освещенными другим объектом, освещенным источником света.

И так далее.

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



Объективный рендеринг

Слева направо прямой свет, первое отражение, второе отражение, третье отражение, результат. Максимальная глубина отражений и преломлений в большинстве рендеров настраивается и по умолчанию равна 8. У некоторых (например, Максвелла, Фрая) глубина отражений ограничена гораздо большим числом и зависит от параметров поверхностей.

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

Мягкие тени Алгоритм получения мягких теней в PT достаточно прост. Луч, исходящий из камеры в сторону точки на поверхности, направляется в произвольное место (степень «случайности» зависит от параметров данной поверхности) на источнике света.

Если луч успешно достигает источника света (зеленого), то мы окрашиваем этот пиксель в нужный цвет. Если луч встречает на своем пути препятствие (красное), соответствующий пиксель на экране не закрашивается.

(Кстати, алгоритм аналогичен рендерингу теней при трассировке лучей)

Объективный рендеринг

Количество семплов на пиксель: слева — 1, справа — 5. В примере для наглядности нет вторичных отражений.

Отражения и преломления Светоотражающая функция зависит в первую очередь от степени шероховатости.

А степень шероховатости определяется величиной ошибки отклонения от отраженного луча.



Объективный рендеринг

Если степень отклонения = 0, то мы получаем зеркальное отображение.

Если 1 (или 100%) - тогда падающий луч может отражаться в любом направлении.

От 0 до 1 мы получаем отражение разной степени шероховатости.



Объективный рендеринг

Степень шероховатости поверхности (от 0 до 1).

Рефлексивная функция может быть более сложной (например, анизотропная поверхность ).

Алгоритм шероховатости преломления аналогичен отражению, только луч проникает в объект, меняя свое направление в соответствии с показателем преломления этого объекта.

Материалы Материалы обычно состоят из нескольких слоев.



Объективный рендеринг

Упрощенная модель пластиковой поверхности.

Многие средства визуализации Anbias (Maxwell, Fry, Indigo, Lux) имеют возможность рассчитывать реальное подповерхностное рассеяние.

Часть лучей проходит и рассеивается под поверхностью, что вносит коррективы в получаемое изображение.

Глубина резкости Эффект, известный в фотографии, достигается в ФТ практически без дополнительных вычислительных затрат.

Объективный рендеринг

*** МЕТОДЫ ОПТИМИЗАЦИИ Выборка по важности «Выборка по важности» необходима для того, чтобы компьютер не тратил вычислительную мощность на «чистые» области.

Зачастую поверхности, освещенные прямым светом, «очищаются», тогда как участки, освещенные преломленным или отраженным светом, очень долго остаются зашумленными.



Объективный рендеринг

Области, выделенные красным, имеют повышенный шум.

Двунаправленная трассировка пути ПТ в чистом виде используется очень редко.

Вероятность того, что лучи, исходящие из виртуальной камеры, достигнут источника, очень мала и сильно зависит от размера источника света.

Чем меньше источник света, тем труднее лучу «попасть» в него.

Алгоритм BDPT излучает лучи одновременно от источника света и камеры.

Это позволяет «безболезненно» перенести в сцену даже точечные источники света.

Используется в большинстве объективных графических рендереров.

Метрополис Легкий транспорт Алгоритм мутирующих лучей MLT позволяет уменьшить шум при том же количестве выборок.

Алгоритм сохраняет «узлы» (точки отражения) тех лучей, которые сильно повлияли на полученное изображение, и выдает незначительные отклонения от исходного направления луча.

Кроме того, он может вводить дополнительные узлы на траекторию луча.

После этого он проверяет, насколько изменение направления повлияло на интенсивность луча, и определяет, следует ли производить дальнейшие мутации этого луча.

Используется во всех объективных средствах визуализации, использующих ЦП.

(Есть еще один метод оптимизации мутирующих лучей — Energy Redistribution Path Tracing, но он не получил широкого распространения и о нем мало информации.

) Более наглядно, как это работает, можно увидеть на видео (МЛТ против БДПТ).

Здесь мы можем увидеть эффективность каждого метода оптимизации рендеринга.

Вокселизация Перед рендерингом необходима вокселизация, чтобы программа не проверяла все треугольники на возможность пересечения одним лучом.

Алгоритм отбрасывает те области пространства, в которых на пути луча не могут находиться треугольники.

Объекты необходимо вокселизировать каждый раз, когда происходит изменение геометрии или добавление новых объектов.

Но это не обязательно при перемещении камеры, изменении материалов объекта или окружающей среды.

Кроме того, в PT можно ввести алгоритм рендеринга вокселей.

*** графический процессор Благодаря тому, что современные графические процессоры справляются с плавать в вычислительном отношении намного лучше, чем процессор, трассировка пути постепенно перекладывается на их плечи.

Рендеринг в реальном времени Энтузиасты уже начали создавать игры с использованием PT. Игра ты можешь попробовать это сам (использует OpenCL), если у вас достаточно мощная карта (можно попробовать играть на процессоре, но это будет очень медленно) .

Автор следующего видео( Рекомендую заглянуть на его сайт ) утверждает, что графический движок PT будет использоваться в играх в ближайшем будущем.

Это видео визуализируется с использованием двух GTX580 в реальном времени.

Как использовать графический процессор CUDA — аппаратно-программная архитектура позволяет компилировать C++ и выполнять вычисления на видеокартах Nvidia. ATIFirestream - то же самое, только для карт ATI. OpenCL — это платформа для вычислений на всех устройствах, совместимых с OpenCL (большинство современных процессоров и графических процессоров).

DirectCompute — это фреймворк от Microsoft, поддерживаемый видеокартами, поддерживающими DX10, 11. GLSL — это язык программирования шейдеров, который работает на всех графических ускорителях.

Следующее видео демонстрирует скорость физических расчетов с использованием различных программных платформ.

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

( GLSL демонстрирует скорость на уровне CUDA, тогда почему на GLSL нет PT? ) *** И ЕЩЕ НЕМНОГО Самые известные рендеры анбиаса: Максвелл Рендер самый популярный объективный рендер.

Индиго имеет графический аналог IndigoRT. ФрайРендер рендер от RandomControl, имеет аналог на GPU — Arion Render. ЛюксРендер Рендеринг с открытым исходным кодом, поддерживает ускорение графического процессора.

На сайте также можно найти полностью GPU-рендер — SmallLuxGPU. Октановый рендер Полностью графический рендеринг.

iRay находится в коробке с последней версией 3ds Max, использует CUDA и процессор.

Циклы рендеринга (встроен в Blender, поддерживает как CUDA, так и OpenCL).

Популярное заблуждение Существует популярное заблуждение, что V-Ray RT — это беспристрастный рендерер.

Нет это не правда.

Этот трассировка лучей с адаптивным сглаживание .

Конечно, выборка теней и рендеринг аналогичны алгоритму трассировки пути.

Но глобальное освещение и каустика остаются предметом общих настроек времени, и их необходимо корректировать для каждого конкретного случая.

То же самое касается Bunkspeed Hypershot и Luxeon Keyshot (ранние версии, до перехода на iRay).

Подведем итоги: Олдфаги V-Ray скажут, что всю красоту можно сделать в Вирее, и будут правы.

Ведь рендеринг – это не главное.

Главное – художник с головой, прямыми руками и творчеством в душе! Но объективные рендеры могут помочь нам не обращать внимания на технические настройки рендеринга, а сосредоточиться на творческом процессе.

Теги: #рендеринг #3d графика #Алгоритмы #трассировка лучей #трассировка лучей #трассировка пути #рендеринг без предположений #трассировка лучей #трассировка пути #Pt #легкий транспорт мегаполиса #mlt #несмещенный рендеринг #Алгоритмы

Вместе с данным постом часто просматривают: