Вернуться




Трассировка лучей в компьютерной графике



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

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

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

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

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

Отражения, трассированные лучами

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

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

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

 



Если вам понравилась эта статья поделитесь ею с друзьями, тем самым вы помогаете нам развиваться и добавлять всё больше интересного и полезного контента!




Cхожие статьи





Стоит ли учиться программировать в 2021

Стоит ли учиться программировать в 2021

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

21 Февраля 2021    Другое

Плюсы и минусы Baas для разработки мобильных приложений

Плюсы и минусы Baas для разработки мобильных приложений

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

23 Марта 2021    Другое

Начинающий программист

Начинающий программист

Самыми легкими в изучении можно считать такие языки как JavaScript, Python, ...

23 Марта 2021    Другое