- PVSM.RU - https://www.pvsm.ru -
Сегодня я расскажу, какие бывают трассировки лучей. Рассмотрю кратко по текстурам и по геометрии.
Одним из методов трассировки лучей это трассировка по текстуре. Лучи трассируются по двух-мерной текстуре и маске глубины. Главное достоинство это возможность оптимизации. Одним из недостатков можно считать это многочисленные артефакты, которые лечатся только при помощи уменьшению луча т.е. размер луча должен быть меньше размера пикселя. А тут, извините, никакая оптимизация не поможет. Поможет только новое железо и совершенно другой API.
В целом применяется для игр вроде Crysis и некоторых других, так как это один из самых дешевых методов.
В этом методе достаточно находить пересечения луча и фигуры. Но! Этих фигур может быть так много, что поиск фигуры может продолжаться всю жизнь. Достоинство — максимальное качество изображения. Это означает, что для real time должна быть или достаточно простая сцена, или достаточно мощное железо и оптимизация.
Применяется для создания реалистичных изображений и анимации. Пока не предназначено для игр.
Схожа с первым пунктом. Используется трехмерная текстура. Минус очевиден — очень низкая производительность. Однако может выиграть пункт 2, поскольку фигур может быть больше чем клеток трехмерной текстуры.
Примеров не знаю. Используется в экспериментах.
На сегодняшний день вы можете подбирать сотни алгоритмов. Но ни один не сможет реализовать трассировку в реальном времени. Опыт невелик, поскольку я лишь делаю отражения для шейдеров в Minecraft. С одной стороны я добился качества, с другой — я так и не смог повысить производительность. Я думаю, что трассировка лучей на сегодняшний день не такая уж и нужная вещь. Стоит ли переплачивать? Думаю, можно обойтись тем, что у нас есть. По крайней мере пока.
Постараюсь в скором времени проработать тему, добавить картинок, отображающие примеры.
Автор: acterHD
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/trassirovka/39530
Ссылки в тексте:
[1] Источник: http://habrahabr.ru/post/187920/
Нажмите здесь для печати.