Лекция
Game: Perform tasks and rest cool.2 people play!
Play gameПривет, Вы узнаете о том , что такое метод трассировки лучей, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое метод трассировки лучей , настоятельно рекомендую прочитать все из категории Компьютерная графика.
Одним из наиболее распространенных и наглядных методов построения реалистичных изображений является метод трассировки лучей (RayTracing, рэйтрейсинг), позволяющий строить фотореалистичные изображения сложных сцен с учетом таких эффектов как отражение и преломление.
Рассмотрим каким путем возникает реальное изображение. Выпустим из каждого источника света пучок лучей во все стороны и мысленно проследим за ним. При попадании луча на границу объекта, если объект не является отражающим и преломляющим, то траектория луча обрывается; в противном случае – выпускаем из точки попадания отраженный и преломленный лучи и отслеживаем их и все порожденные ими лучи.
Для новых лучей возможны 3 варианта дальнейшего взаимодействия с объектами сцены:
все расчеты сбрасываются, та как луч не вносит вклад в формирование
изображения.
соответствующего пикселя изображения.
расчет освещенности, строится новый луч и продолжается процесс, пока все
лучи не придут к сценарию 1 или 2.
Описанный процесс называется прямой трассировкой лучей. В результате можно получить изображение сцены однако, требуются огромные вычислительные затраты. Основным недостатком такого способа является то, что большая часть рассматриваемых лучей не попадает в глаз.
На рисунке 7 приведена иллюстрация метода прямой трассировки лучей
Рисунок 7 – Схема метода прямой трассировки лучей.
Game: Perform tasks and rest cool.2 people play!
Play gameМетод прямой трассировки фотонов полностью универсален благодаря приближенной к реальности модели освещения. Об этом говорит сайт https://intellect.icu . Правда, он не учитывает некоторые волновые свойства света. Из курса физики: если источник света расположить за сферой, то на определенном расстоянии, прямо посередине круглой тени от шара, появится светлая точка. Но чтобы это рассчитать, нужно моделировать всю реальность, и никакой мощности не хватит.
Метод обратной трассировки лучей позволяет значительно сократить перебор световых лучей. Согласно этому методу отслеживание лучей производится не от источников света, а в обратном направлении – от точки наблюдения. Так учитываются только те лучи, которые вносят вклад в формирование изображения.
Game: Perform tasks and rest cool.2 people play!
Play gameЕсли объект зеркальный (хотя бы частично), то строим вторичный луч – луч падения, считая лучом отражения предыдущий, первичный трассируемый луч. Для идеального зеркала достаточно затем проследить лишь очередную точку пересечения вторичного луча с некоторым объектом. У идеального зеркала идеально ровная отполированная поверхность, поэтому одному отраженному лучу соответствует только один падающий луч. Зеркало может быть затемненным, то есть поглощать часть световой энергии, но все равно остается правило: один луч падает – один отражается.
Если объект прозрачный, то необходимо построить новый луч, такой, который при преломлении давал бы предыдущий трассируемый луч.
Для диффузного отражения интенсивность отраженного света, как известно, пропорциональна косинусу угла между вектором луча от источника света и нормалью. Когда выясняется, что текущий луч обратной трассировки не пересекает какой–либо объект, а уходит в свободное пространство, то на этом трассировка для этого луча заканчивается.
При практической реализации метода обратной трассировки вводят ограничения. Некоторые из них необходимы, чтобы можно было в принципе решить задачу синтеза изображения, а некоторые ограничения позволяют значительно повысить быстродействие трассировки .
На рисунке 8 представлена схема метода обратной трассировки лучей.
Рисунок 8 – Схема метода обратной трассировки лучей
Алгоритм выглядит следующим образом: из виртуального глаза через каждый пиксел изображения испускается луч и находится точка его пересечения с поверхностью сцены. Лучи, выпущенные из глаза называют первичными. Допустим, первичный луч пересекает некий объект в точке H1.
Далее необходимо определить для каждого источника освещения, видна ли из него эта точка. Предположим пока, что все источники света точечные. Тогда для каждого точечного источника света, до него испускается теневой луч из точки H1. Это позволяет сказать, освещается ли данная точка конкретным источником. Если теневой луч находит пересечение с другими объектами, расположенными ближе чем источник света, значит, точка H1 находится в тени от этого источника и освещать ее не надо. Иначе, считаем освещение по некоторой локальной модели (Фонг, Кук–Торранс и.т.д.). Освещение со всех видимых (из точки H1) источников света складывается. Далее, если материал объекта имеет отражающие свойства, из точки H1 испускается отраженный луч и для него вся процедура трассировки рекурсивно повторяется. Аналогичные действия должны быть выполнены, если материал имеет преломляющие свойства.
Достоинства метода трассировки лучей:
– возможность рендеринга гладких объектов без аппроксимации их полигональными поверхностями (например, треугольниками);
– вычислительная сложность метода слабо зависит от сложности сцены;
– высокая алгоритмическая распараллеливаемость вычислений — можно параллельно и независимо трассировать два и более лучей, разделять участки (зоны экрана) для трассирования на разных узлах кластера и т.д;
Game: Perform tasks and rest cool.2 people play!
Play gameНедостатки метода:
Серьезным недостатком метода обратного трассирования является производительность. Метод растеризации и сканирования строк использует когерентность данных, чтобы распределить вычисления между пикселями. В то время как метод трассирования лучей каждый раз начинает процесс определения цвета пикселя заново, рассматривая каждый луч наблюдения в отдельности. Впрочем, это разделение влечет появление некоторых других преимуществ, таких как возможность трассировать больше лучей, чем предполагалось для устранения контурных неровностей в определенных местах модели. Также это регулирует отражение лучей и эффекты преломления, и в целом — степень фотореалистичности изображения.
Game: Perform tasks and rest cool.2 people play!
Play game
Рисунок 8 – Схема метода двунаправленной трассировки лучей
Исследование, описанное в статье про метод трассировки лучей, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое метод трассировки лучей и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Компьютерная графика
Из статьи мы узнали кратко, но содержательно про метод трассировки лучей
Комментарии
Оставить комментарий
Компьютерная графика
Термины: Компьютерная графика