Другое

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

Lorem ipsum dolor

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

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

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

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

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

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

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

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

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

 

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

Логические операторы в Си: простые уроки для начинающих программистов
Другое

Логические операторы в Си: простые уроки для начинающих программистов

Что такое протокол ICMP, как и зачем его использовать
Другое

Что такое протокол ICMP, как и зачем его использовать

Как работает распознавание речи: главные методы и лучшие движки
Другое

Как работает распознавание речи: главные методы и лучшие движки

Vue.js — быстрый старт: практические примеры использования vue.js
Другое

Vue.js — быстрый старт: практические примеры использования vue.js

×