Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Распределенная трассировка лучей

Моделирование текстур

 

Повышение реалистичности изображения требует учета различных видов поверхностей, т.е. моделирования текстур. Например, для изображения мрамора с прожилками требуется менять цвет поверхности в зависимости от положения точки на ней. Возможны два основных варианта: проективные и процедурные (сплошные - solid) текстуры. В первом случае изображение реальной раскрашенной (мраморной) поверхности проецируется на поверхность объекта, т.е. учитывается искажение рисунка для изогнутых или стоящих под углом к наблюдателю поверхностей. В итоге трехмерные координаты точки сводятся к двумерным, которые затем используются для индексации цвета. Этот вариант прост понятийно, т.к. методы получения проекций известны, но не экономичен по памяти, т.к. хранятся дополнительные индексы цвета. К тому же проецирование объектов сложной формы - не простая задача. Во втором случае строится функция, определяющая цвет каждой точки в соответствии с исходным рисунком. Здесь затраты памяти невелики, сложность формы объекта на работу не влияет. Но создать такую функцию сложно, поэтому продают библиотеки текстур аналогично библиотекам шрифтов.

Простейшие текстуры моделируют клетчатую поверхность (шахматная доска) и кирпичную кладку. Кроме цветовых текстур моделируют текстуры с меняющимися коэффициентами вторичной освещенности (например, коэффициентом преломления), меняющимся вектором нормали к точке (меняющийся рельеф местности - рябь, волны на воде). Для внесения неправильностей используют шумовые текстуры. Пример - моделирование текстуры дерева с учетом того, что годовые кольца не носят строго правильный характер. Обычно на шумовую функцию накладываются требования непрерывности, выдачи значений из диапазона [0,1], распределения значений близко к равномерному. Способы построения таких функций известны. Шумовая функция применяется и при моделировании текстуры мрамора. Шум можно наложить не только на цвет, но и на вектор нормали.

Примеры -...\TEXTURE\sample3.cpp - sample13.cpp из [ 1 ].

 

 

Изображения в предыдущих примерах (особенно в example1.cpp, example2.cpp) имеют погрешности: пропадающие точки, "лестницу" ("мохнатость"). Это характерно для классической трассировки лучей и связано с тем, что не учитывается размер пиксела. Пиксел считается бесконечно малой точкой, через него проходит только один луч, поэтому его цвет определяется однозначно. На самом деле, с учетом занимаемой пикселом площади, его цвет - сумма по всем лучам, проходящим через его область, т.е. интеграл по этой области. Но уменьшение сетки для охвата части пиксела здесь не применяется, т.к. причина возникновения дефекта остается, он только уменьшается за счет резкого увеличения вычислительных затрат.

Выходом является распределенная трассировка (Distributed Ray Tracing). Для вычисления соответствующего интеграла используется метод Монте-Карло. В области пиксела выбирается по равномерному закону распределения случайная точка и трассируется луч, проходящий через эту точку. Освещенность, привносимая этим лучом - случайная величина. Поэтому для вычисления цвета пиксела достаточно оттрассировать несколько равномерно распределенных случайных лучей и взять среднее значение. Способы выбора тестовых точек различны. Наиболее распространен метод "шевеления" регулярной решетки. Область пиксела разбивается на n1 n2 одинаковых частей, в каждой из них выбирается равномерно распределенная случайная точка для проведения луча. "Шевеление", т.к. узел решетки, где находится пиксел, как бы шевелится, "плывет" в некоторой области. Рассмотренный метод устраняет погрешность, связанную с неучетом размера пиксела, но вносит свою - высокочастотный шум, который для глаза менее заметен.

Распределенная трассировка лучей позволяет моделировать ряд дополнительных эффектов. Среди них неточечные источники света и нечеткие отражения.

При неточечных источниках света возможно трассирование нескольких лучей из одной точки объекта в разные СЛУЧАЙНЫЕ точки источника света. Неточечные источники света вместо резких теней дают мягкие полутени. Можно реализовать сферический, цилиндрический и другой формы источники.

Микрофасетная поверхность (от франц. facette - грань, шершавая поверхность с упорядоченным рисунком) дает нечеткое отражение, когда лучи, идущие из разных точек объекта, попадают в одну точку поверхности и отражаются в одном и том же направлении. Поэтому вместо одного отраженного или преломленного луча можно выпустить несколько СЛУЧАЙНЫХ лучей и определить приносимую ими энергию с учетом их весовых коэффициентов, зависящих от направления (для учета направления рисунка поверхности). Вместо равномерного распределения лучей можно использовать их веса для выбора предпочтительного направления. Тогда приносимые ими значения усредняются, веса не используются.

Распределенная трассировка лучей позволяет также моделировать неидеальную камеру. В идеальной камере все объекты находятся в фокусе, поэтому нет размывов из-за отсутствия резкости в некоторой части изображения. До сих пор наблюдатель (камера) трактовался как точка. Считалось, что каждая точка экрана освещается одним лучом, проходящим через точку наблюдения. В реальной камере точка освещается бесконечным множеством лучей, проходящих через линзу. Для учета этого используются известные законы оптики. Размытость моделируется выбором СЛУЧАЙНОЙ точки на линзе и исследованием преломленного от нее луча. Количество таких случайных точек ограничивается специальными методами (не рассматриваем, т.к. это сложный, узкоспециализированный вопрос).

 

<== предыдущая лекция | следующая лекция ==>
Основы метода | Метод излучательности
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 970; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.