Достоинства и недостатки рендеринга, используемого в OpenGL OpenGL изначально создавался для интерактивной визуализации трехмерных сцен Обеспечивает достаточно.

Презентация:



Advertisements
Похожие презентации
Излучательность. Трассировка лучей. Фотонные карты. Андрей Татаринов Глобальные модели освещения.
Advertisements

Лекция 13 Метод трассировки лучей Астана Трассировка лучей через сферическую каплю воды Луч 7 -- луч Декарта [1637]
Локальные и глобальные модели освещения. Фролов Владимир. 25 сентября 2006г.
ТРЕХМЕРНАЯ ГРАФИКА Компьютерная графика. Геометрические примитивы.
Обобщающий урок по главе «Оптические явления» Цель урока: закрепление знаний и умений полученных учащимися, при изучении темы «Оптические явления», а также.
Основы синтеза фотореалистических изображений: трассировка лучей Боголепов Д.К. Кафедра МОЭВМ ВМК ННГУ Введение в методы визуализации.
Излучательность. Трассировка лучей. Лекция 13. Алексей Игнатенко.
Геометрическая оптика. Тема урока: «Прямолинейное распространение света. Законы отражения и преломления света».
Геометрическая оптика Мясникова Г.И. Учитель физики.
Геометрическая оптика. Тема урока: «Прямолинейное распространение света. Закон отражения света».
Корпускулярная Изучением данной теории занимался Ньютон Свет – это поток частиц, идущих от источника во все стороны (перенос вещества ) Затруднения: Почему.
9 класс Учитель физики МБОУ гимназии 44 г. Краснодара Найда О. К.
Геометрическое моделирование трехмерных объектов..
Лекции по физике. Оптика Геометрическая оптика. 2 Основные законы оптики 1. Закон прямолинейного распространения света (в однородной среде) 2. Закон независимости.
Использование функционального представления (FRep) для компьютерной анимации и интерактивных сред.
Организация ЭВМ Гулиян Борис Подзоров Иван «Анализ перспективности использования метода трассировки лучей в 3D моделировании »
ГЕОМЕТРИЧЕСКАЯ ОПТИКА. Геометрическая оптика- раздел оптики, в котором законы распространения света рассматриваются на основе представления о световых.
Использование функционального представления (FRep) для компьютерной анимации и интерактивных сред.
Геометрическая оптика. Законы геометрической оптики: 1.Отражения. 2. Преломления.
Основные сведения из математики, необходимые для понимания геометрических моделей Три главных формы математического представления кривых и поверхностей.
Транксрипт:

Достоинства и недостатки рендеринга, используемого в OpenGL OpenGL изначально создавался для интерактивной визуализации трехмерных сцен Обеспечивает достаточно высокое качество визуализации сложных сцен, заданных полигональными сетками, в реальном времени

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

Существуют алгоритмы синтеза трехмерных изображений, более точно моделирующие физические законы распространения и взаимодействия света с объектами Трассировка лучей Ray-tracing Алгоритмы расчета глобального освещения Фотонные карты

Принцип трассировки лучей Трассировка лучей (Ray tracing) – алгоритм машинной графики, позволяющий создавать фотореалистичные изображения трехмерных сцен любой сложности В основе данного метода – моделирование процесса прохождения луча света через трехмерную сцену

Принцип трассировки лучей

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

Обратная трассировка лучей В действительности используется обратная трассировка лучей Нас интересуют не все лучи сцены, а только те, что попадают в глаз, через плоскость экрана Прослеживается путь лучей, проходящих из глаза наблюдателя через каждый пиксель экрана

Оптический процесс прохождения лучей через сцену Сцена Вычисляется путь луча, проходящего через заданный пиксель экрана до ближайшей поверхности. Затем из точки пересечения испускаются вторичные лучи – отраженный и преломленный и т.д. При достижении определенной глубины процесс трассировки заканчивается. Начиная с конечной точки луча рассчитывается цвет и интенсивность лучей в точках столкновения.

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

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

Высокая фотореалистичность результата Трассировка лучей позволяет моделировать оптические законы распространения света близко к тому, как это обстоит в реальности

Ray-casting Упрощенная вариация процесса трассировки лучей Путь прохождения луча прослеживается до ближайшего столкновения с объектом сцены Затем вычисляется освещенность в точке столкновения с использованием той или иной модели освещения Не позволяет передать эффекты преломления и тени

Принцип работы Ray Casting-а Сцена

Производительность Процесс трассировки лучей выполняется на несколько порядков дольше визуализации при помощи обычного рисования примитивов

Подверженность алиасингу Качественным недостатком обычной трассировки лучей является ее подверженность aliasingу, а также резкие границы света и тени Существуют модификации алгоритма трассировки лучей, решающие эту проблему Beam tracing Cone tracing Distributed ray tracing

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

Cone tracing Подобен методу beam tracting, только вместо пирамиды используется конус Решает проблемы алиасинга и смягчает тени Нахождение пересечения конуса с объектами сцены являются еще более сложными, что сделало данный метод непопулярным

Distributed ray tracing Данный метод основан на испускании не одного, а нескольких лучей с небольшим случайным разбросом от «идеального» направления при трассировке Отклонения лучей могут происходить не только в пространстве, но и во времени, что позволяет передать т.н. эффект Motion Blur, либо в спектральной области, что позволяет передать эффект дисперсии

Distributed Ray tracing Сцена

Параметрическое уравнение луча S c P S – точка испускания луча c – направление движения луча (вектор скорости) t – отрезок времени P – точка нахождения луча в момент времени t

Уравнение плоскости n P0P0 P A, B, C – координаты вектора нормали n

Пересечение луча с плоскостью n P0P0 P c S

Пересечение луча с базовой сферой O R=1 P0P0 c S P1P1

Пересечение луча с базовой сферой (продолжение) D0: прямая пересекает сферу в двух точках t0 и t1 должны быть > 0 (луч пересекает сферу)

Пересечение луча с базовым коническим цилиндром R 0 =1 R 1 =s H=1 z x y P0P0 c S P1P1

Пересечение луча с базовым коническим цилиндром (продолжение)

D0: прямая пересекает поверхность в двух точках t0 и t1 должны быть > 0 (луч пересекает поверхность)

Пересечение луча с произвольно трансформированным объектом Пусть к объекту применена некоторая трансформация T Для нахождения точки пересечения можно применить трансформацию, обратную T, к лучу и найти точку пересечения трансформированного луча с объектом Если преобразование T задано матрицей M, то для нахождения обратного преобразования луча нужно найти матрицу M -1 и применить данную матрицу к точке испускания луча и его направлению

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

Пересечение луча с полигональными сетками Для нахождения точек пересечения луча с полигональной сеткой необходимо найти точки пересечения со всеми ее гранями Треугольные грани упрощают нахождение точек пересечения На практике полный перебор всех граней сетки не применяется в виду низкого быстродействия Сетка представляется в виде дерева, что сокращает сложность задачи с O(N) до O(logN)

Пересечение луча с треугольником A B C P c S 1.Найти точку P пересечения с плоскостью треугольника 2.Определить принадлежность данной точки внутренней области треугольника 3.Вычислить интерполированные значения атрибутов вершин (цвет, нормаль и др.) в точке пересечения

Нахождение точки пересечение луча с плоскостью треугольника Найти уравнение плоскости треугольника Вычислить нормаль через векторное произведение двух сторон треугольника (коэффициенты A, B, C) Вычислить скалярное произведение нормали и любой из вершин треугольника (коэффициент –D) Найти точку пересечения луча с плоскостью

Определение принадлежности точки внутренней области треугольника A B C P h AB Точка P лежит внутри треугольника, если одновременно выполняются условия: h * – перпендикуляры к ребрам треугольника, лежащие в его плоскости

Интерполяция атрибутов вершин B C P A P D При AP DC

Интерполяция атрибутов вершин С каждой вершиной сетки можно связать некоторый набор атрибутов (цвет, нормаль, текстурные координаты и т.п.) В точке пересечения луча и треугольной грани сетки вычисляются весовые коэффициенты k A, k B, k C Сумма коэффициентов k A, k B, k C для любой точки треугольника равна 1, а сами коэффициенты находятся в диапазоне от 0 до 1 Данные коэффициенты используются для вычисления взвешенного (интерполированного) значения атрибутов вершин в точке пересечения

Расчет прямого освещения При столкновении луча с поверхностью выполняется суммарный вклад источников света в освещенность данной точки поверхности Строятся вторичные лучи из точки столкновения по направлению к источникам света Вычисляется расчет освещения с использованием заданной модели освещения

Пример вычисления диффузной составляющей отраженного света n l1l1 l2l2 v

Определение затененности точки В точку поверхности попадает свет от источника, если луч, испущенный из данной точки по направлению к источнику не встречает на своем пути препятствий Отсутствуют пересечения луча с объектами сцены Объекты «за источником света» не отбрасывают тени (t пересечения > 1)

Тени нет

Глобальная освещеность (Global Illumination) Трассировка лучей учитывает лишь прямую освещенность поверхностей источниками света В реальности рассеянный свет от освещенных объектов вносит вклад в формирование цвета объектов, расположенных неподалеку В итоге это приводит к резким теням и к недостаточной освещенности участков сцены, на которые не попадают прямые лучи от источника света

Direct Illumination и Global Illumination Алгоритмы расчета глобальной освещенности с некоторым приближением учитывают распределение световой энергии между поверхностями сцены, решая уравнение рендеринга с заданной точностью В частности, это позволяет учесть вклад диффузной составляющей отраженного света в формирование реалистичного изображения

Уравнение рендеринга (Rendering Equation) Данное уравнение теоретически описывает поток световой энергии проходящий через сцену Основывается на физической природе света и законе сохранения энергии В данной точке и направлении интенсивность исходящего света равна сумме испускаемого и отраженного телом света Отраженный свет, в свою очередь, - это произведение суммарной интенсивности света, поступающего со всех направлений, коэффициента отражение материала и функции, зависящей от угла поступающего света

Алгоритмы, учитывающие глобальное освещение Данные алгоритмы являются частными решениями уравнения рендеринга Radiocity Photon mapping Ambient occlusion

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

Принцип действия Radiocity В основе метода лежит упрощение – учитывается лишь диффузный свет При этом поверхность объектов сцены разбивается на лоскутки (patches) прямоугольной или треугольной формы В каждый из этих лоскутков осуществляется рендеринг сцены с целью расчета ее освещенности в данной точке Этот процесс многократно повторяется, распространяя диффузный свет по всей сцене

Photon mapping Лучи от камеры и источника света трассируются независимо друг от друга Затем на этапе расчета освещения происходит объединение информации, полученной при трассировке этих лучей Лучи от источника представляют собой траекторию движения фотонов. При столкновении с поверхностями, фотоны отдают часть своей энергии и отражаются в некотором направлении Информация о полученной поверхностями энергии сохраняется в кэше, называемом фотонной картой Данный подход позволяет передать каустики (блики), возникающие при прохождении света через прозрачные предметы

Ambient occlusion Метод, позволяющий добавить реализм в сцену с учетом ослабления света, попадающего в данную точку поверхности, из-за преград, находящихся на пути света

Демонстрация Ambient Occlusion No Ambient Occlusion Ambient Occlusion