Transcript
Page 1: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

1

Введение в алгоритмтрассировки лучей

URL: http://www.school30.spb.ru/cgsg/cgc/

E-mail: [email protected]

Page 2: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

2Ray Casting

Page 3: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

3Ray Tracing

Page 4: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

4Ray Tracing

Page 5: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

5Forward vs. Backward

Page 6: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

6Алгоритм

Page 7: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

7Камера & построение луча

Page 8: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

8Поиск пересечений (intersections)

• Объекты вида:

• Подставляем уравнение луча:

• И решаем относительно t(t>0)

Page 9: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

9Intersect Threshold

Page 10: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

10Пересечение с плоскостью

Page 11: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

11Пересечение с многоугольником на плоскости

1. Пересечение с плоскостью2. Проверка принадлежности точки пересечения многоугольнику

Page 12: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

12Пересечение со сферой

Page 13: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

13Геометрическое решение

Page 14: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

14Поверхности второго порядка (quadrics)

Page 15: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

15Поверхности второго порядка (quadrics)

Page 16: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

16Параллелепипед (box)

• определяется:

• алгоритм

Page 17: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

17Параллелепипед

Page 18: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

18Треугольник

• алгоритм:– ищем P – пересечение с плоскостью– проверяем принадлежность P треугольнику

Page 19: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

19Вычисление пересечения с треугольником

u,v,w – барицентрические координаты

Page 20: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

20Пересечение с трансформированными объектами

• Луч:

• Точки объекта подвергаются преобразованию M

• Луч преобразуется:

• Ищем пересечение (t)

• Найденное t сокращаем на длину вектора

Page 21: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

21Constructive Solid Geometry

Необходим поиск ВСЕХ пересечений объекта с лучом•пример:

§пересечение:Ø остаются все пересечения, принадлежащие

внутренности второго объекта, из получившегося списка берем ближайшее

Page 22: Компьютерная графика, осень 2011: Введение в трассировку лучей

RTIntroRTIntro

Галинский В.А.Физико-математический лицей № 30

Computer Graphics Support Group

22

• Практические задания (до 27.11.2011)– Реализовать простейший алгоритм трассировки луча для

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


Recommended