3D графика и трасиране на лъчи v
|
|
- Swetoslaw Fratev
- преди 3 години
- Прегледи:
Препис
1 3D графика и трасиране на лъчи v.2.0
2 Тема 3 Основни концепции в рендерирането и raytracing-а Базова инфраструктура на raytracer-а
3 Съдържание Основни понятия в рендерирането Сцена Камера Геометрия Материали Светлини Обкръжение Базова инфраструктура на рейтрейсъра Показване на графика на екрана (SDL)
4 Основни понятия Сцената включва всички останали елементи Сцената е виртуалната реалност, която рендерираме Говорим за архитектурна сцена, интериорна сцена, тежка сцена, светла сцена и пр. Сцените обикновено се записват в някакъв контейнерен формат, който държи цялата сцена (с някои изключения) на едно място Например, *.MAX файлове за 3ds Max, *.POV за POV-Ray
5 Камерата Камерата представлява окото на наблюдателя Еквивалентна е на фотоапарата във фотографията С тази разлика, че е невидима При анимация, може да имаме няколко камери в сцената, но само една е активна за даден кадър При raytracing-а, камерата е мястото, от което тръгват лъчите Има различни видове камери
6 Видове камери Нормална (rectilinear) Ортографическа Рибешко око (fisheye) Други (изкуствени) сферична, цилиндрична,...
7 Характеристики на камерата Позиция (3D вектор) Посока може да се зададе по различни начини: Чрез ъгли (yaw/pitch/roll система) Чрез ос на въртене и ъгъл на завъртането около оста Чрез позиция на целта (look-at система) При нея се налага да се посочи и up-vector. Той показва в каква посока е нагоре, тъй като иначе не може да симулира ефекта на roll ъгъла Зрителен ъгъл (FOV (Field-of-View)) Aspect ratio Дълбочина на полето (DOF (Depth-of-Field))
8 Yaw/pitch/roll система По аналогия с контролите на самолет Yaw ъгълът указва посоката напред на самолета спрямо земята ; [ ) Yaw Pitch ъгълът указва изкачването на самолета спрямо земята; [ ] Roll ъгълът указва завъртането на самолета спрямо надлъжната му ос; [ ) Pitch Прилагането на ротациите е в реда roll, pitch, yaw Roll
9 FOV Зрителният ъгъл определя колко широк е погледа на камерата Обикновено се дефинира като: Диагонален ъгъл, в градуси Фокусно разстояние на обектива, в милиметри (за класически фотоапарат с 35mm филм) Двете са обратно-пропорционални: поголямо фокусно разстояние = по-малък зрителен ъгъл
10 FOV 30mm, 50mm, 135mm 72, 47, 18
11 FOV Усещането за перспектива също зависи от зрителния ъгъл, тъй като мени отношението между видимия размер на нееднакво отдалечените обекти В примера, средният чайник е еднакво голям (като пиксели); фокусните разстояния са 17, 45 и 105mm.
12 FOV За нормален FOV се счита 53 (около 50mm) При широките ъгли, изображението става много неестествено след е математически невъзможно при правоъгълна камера; на практика всичко над 160 е неизползваемо В реалния свят, най-широките обективи са до 14mm (114 ) Ако целим много широки ъгли, по-добре да се ползва fisheye камера
13 Отношение (Aspect ratio) Има се предвид отношението Ширина:Височина на кадъра Това не е същото като отношението на изходната картинка в пиксели! Трябва да съвпада с отношението на целевата медия (монитор, хартиена снимка...) Например, 640х480 кадър (4:3 отношение) може да се покаже на wide монитор (16:10), и за да не изглежда разтеглено, трябва на камерата да се укаже aspect = 1.6 Разбира се, най-добре е всичко да съвпада (квадратни пиксели)
14 Дълбочина на полето (DOF) Симулира фокусираните и разфокусираните области при фотографията Имаме фокусна равнина, в която предметите са на фокус; колкото повече се отдалечаваме от нея, толкова повече се разфокусират Дълбочината на полето се определя от областта, която човек възприема за добре фокусирана Дълбочината зависи от редица фактори Най-вече от избраната бленда на фото-обектива (aperture), но има и други фактори
15 Дълбочина на полето (DOF) Фокусиране на близък и далечен обект:
16 Дълбочина на полето (DOF) Различните бленди (aperture) дават различни дълбочини при еднакво разстояние до фокуса. Тук са показани, от ляво надясно: f/8, f/4, f/2
17 Дълбочина на полето (DOF) Дълбочината на полето зависи от: Блендата ниските f-числа съответстват на плитък DOF Зрителният ъгъл: при по-широк FOV, дълбочината расте Разстоянието до фокусната равнина: когато фокусът е далече, дълбочината е по-голяма При фотоапаратите: големината на филма/сензора. По-голям филм/сензор съответства на по-плитък DOF По-нататък ще покажем как се симулират отделните свойства на фотокамерата от гледна точка на DOF
18 Геометрия Под геометрията ще разбираме описанието на формите на всички обекти в сцената Когато трасираме един лъч, ние търсим къде той се пресича с геометрията В raytracing-а, геометрията може да е съставена от разнородни по вид геометрични обекти Триъгълни мрежи Математически обекти (сфера, равнина,...) Релефни карти и т.н.
19 Геометрия Общото между всички тях е, че предоставят алгоритъм за пресичане с лъч: class IntersectableInterface { public: bool intersect(ray ray, IntersectionInfo &info) = 0; }; Връща true, ако лъчът пресича геометрията, и попълва структурата info при пресичане В info се запазват допълнителни данни за пресечната точка: разстояние до нея, 3D позиция, нормали,...
20 Геометрия Наивният raytracing алгоритъм пресича даден лъч с геометрията, като обходи всички обекти и пресече лъча с всеки един от тях Търси се тази пресечна точка, която е най-близо до камерата Ще илюстрираме с пример
21 Пресичане с геометрията Пресичане с равнината
22 Пресичане с геометрията Пресичане със сферата
23 Пресичане с геометрията Пресичане с чайника
24 Пресичане с геометрията Raytracing-а е много гъвкав алгоритъм, защото позволява да добавим поддръжка за нов тип обекти, като просто реализираме intersect() функцията Пресичането отнема основна част от времето на един raytracer (обикновено над 50%) Информацията от пресичането се ползва за изчисляване на осветлението; но само тя не е достатъчна Как точно се получава осветлението зависи и от материалите
25 Геометрия vs Материали Само геометрия Само материали Заедно
26 Материали Материалите описват как повърхностите от геометрията отразяват светлината, т.е., как изглеждат самите повърхности Понятието шейдър (shader) има подобен смисъл: шейдърът е математическа функция, която, по зададени позиция, нормали и светлини, изчислява цвета на обекта Т.е., в зависимост от тази функция, обектите изглеждат по различен начин
27 Материали Примери за шейдъри: Шейдър за стъкло / огледален шейдър Шейдър, имитиращ шлифован метал Шейдър, имитиращ лакирано дърво Шейдър, имитиращ авто-боя... Материалите не винаги се описват само с шейдъри В повечето 3D пакети, материалите включват описание и на вътрешността на обекта, не само на повърхността му
28 Текстури Свойствата на материала (прозрачност, дифузен цвят,...) не винаги са равномерни по целия геометричен обект. Често се ползват текстури, който облепят геометрията Плътен цвят Дифузна текстура Текстури за дифузен цвят и прозрачност
29 Видове текстури Зададени чрез файл Процедурни Т.е. чрез зададен алгоритъм за получаване на цвят по (x, y) координати 3D текстури Bump map текстури...и други
30 Материали vs Геометрия Материалите и геометрията са два разделени свята Можем да имаме два различни обекта с еднаква геометрия и различни материали Node: това е комбинация от геометрия и материал За да се пести памет, обикновено имаме списък със материали и геометрии. В Node обекта се пазят указатели към един материал и една геометрия
31 Светлини Във всяка сцена има поне една светлина Светлините са като лампите в реалния свят определят колко ярки са отделните части от сцената Осветлението в дадена точка обикновено се получава като сума от светлините, видими от дадената точка Но това си зависи от шейдъра
32 Осветление Пример
33 Осветлението От какво зависи осветлението, идващо от единична лампа? Сила на лампата Разстояние до нея Ъгъл, под който пада лъча от лампата Други (shader-specific) фактори
34 Видове лампи Точкова (omni light) Насочена (spotlight) Сферична, правоъгълна и други обемни лампи Даже и с произволна форма С постоянна посока (directional light) Например, слънцето Има специални Sun-Sky системи за реалистично осветление в открити пространства
35 Видове лампи (2) Със зададено разпределение Подобна на spot light, но интензитета на светлината около централното направление се задава с конкретна функция Полезно за имитиране на истински лампи
36 Видове лампи (примери) Точкова Правоъгълна (area) С произволна форма: С произволна форма Насочена (spot)
37 Обкръжение (environment) Обкръжението се грижи за частта от изображението, която не принадлежи на никой обект При затворени сцени, нямаме нужда от обкръжение Обкръжението обикновено не се влияе от позицията на камерата, а само от посоката й Пример [humus-metaballs]
38 Видове обкръжение Солиден цвят При черен цвят, все едно нямаме обкръжение Градиент Environment map използват се текстури Spherical map използва се една текстура, облепена сферично Cube map обкръжението е с формата на куб, ползват се 6 текстури за всяка стена на куба Sun/Sky environment симулира свойствата на небето
39 Влияние на обкръжението Обкръжението обикновено влияе на изчислението на осветлението Например, сцена със сиво обкръжение ще е по-ярка от такава с черно При Image-based lighting, цялата светлина идва от обкръжението нямаме лампи
40 Базова инфраструктура на рейтрейсъра Камерата генерира първоначалните лъчи за определяне на цветовете на пикселите в картината Шейдърите могат да поискат да трасират нови лъчи (например, за изчисляване на сенки или отражения) Камера Лъчи Нови лъчи Пресичане с геометрията Лампи Пресечни точки Обкръжение Шейдинг
41 Показване на графика на екрана За целите на нашия курс, ще ползваме библиотеката SDL (Simple Directmedia Layer) Компактна C библиотека с широка поддръжка Windows, Linux, Mac OS X, FreeBSD Не изисква специална инсталация, достатъчно е просто да влачим един DLL с програмата ни Повечето неща стават лесно, без да четем тонове документация
42 SDL Демонстрация проста програма, показваща графика чрез SDL Сорс-кода на програмата може да свалите от сайта на курса
Компютърна Графика и Презентации - Алгоритми за Визуализация
Компютърна Графика и Презентации Алгоритми за Визуализация гл. ас. д-р А. Пенев Визуализация Построяване на изображение съответстващо на модел. Операция по преобразуване на представяне на двумерни/тримерни
Подробно3dgtl
3D графика и трасиране на лъчи http://raytracing-bg.net/ BofH Тема 7 Триъгълни мрежи Нормали Съдържание Анонси Нововъведения във fmiray Триъгълни мрежи Мотивация Реализация на триъгълните мрежи Пресичане
ПодробноГрафика и Презентации - Геометрично Моделиране
Компютърна Графика и ГПИ Геометрично Моделиране. Представящи схеми. Свойства. Математическо пространство. Геометрични преобразования и задачи. доц. д-р А. Пенев Геометрично Моделиране КГиГПИ - Геометрично
ПодробноSlide 1
ДВУЛЪЧЕВА ИНТЕРФЕРЕНЦИЯ ЧРЕЗ ДЕЛЕНЕ АМПЛИТУДАТА НА ВЪЛНАТА Лектор: проф. д-р Т. Йовчева 1. Делене на амплитудата на вълната. Когато падащият лъч частично се отразява и частично се пречупва се наблюдава
ПодробноMicrosoft Word - 02_r99rev1am1_prevod2006.doc
Стр.1 16 април 2004 г. СПОГОДБА ЗА ПРИЕМАНЕ НА ЕДНАКВИ ТЕХНИЧЕСКИ ПРЕДПИСАНИЯ ЗА КОЛЕСНИ ПРЕВОЗНИ СРЕДСТВА, ОБОРУДВАНЕ И ЧАСТИ, КОИТО МОГАТ ДА БЪДАТ МОНТИРАНИ И/ИЛИ ИЗПОЛЗВАНИ НА КОЛЕСНИ ПРЕВОЗНИ СРЕДСТВА
Подробно110 (Глава 2. Тензорен анализ 12. Диференциални операции в криволинейни координати Градиент на скаларно поле. Дефиницията (11.5) на градиента чр
0 (Глава 2. Тензорен анализ 2. Диференциални операции в криволинейни координати 2.. Градиент на скаларно поле. Дефиницията (.5) на градиента чрез производната по направление позволява лесно да намерим
ПодробноИзследване на устойчивостта на равновесното състояние на системи с краен брой степени на свобода Следващият пример илюстрира основните разсъждения при
Изследване на устойчивостта на равновесното състояние на системи с краен брой степени на свобода Следващият пример илюстрира основните разсъждения при изследване на устойчивостта на равновесната форма
ПодробноMicrosoft Word - VypBIOL-01-kinematika.doc
ВЪПРОС 1 КИНЕМАТИКА НА МАТЕРИАЛНА ТОЧКА ОСНОВНИ ПОНЯТИЯ И ВЕЛИЧИНИ Във въпроса Кинематика на материална точка основни понятия и величини вие ще се запознаете със следните величини, понятия и закони, както
ПодробноPaint.net
Paint.net Урок 1 запознаване с различни разширения и слоеве Какво е разширение на един файл? Както знаете, всеки един файл си има име и разширение. Как изгелжда това: Име Разширение Името е уникално за
ПодробноMicrosoft Word - Lecture 9-Krivolineyni-Koordinati.doc
6 Лекция 9: Криволинейни координатни системи 9.. Локален базиз и метричен тензор. В много случаи е удобно точките в пространството да се параметризират с криволинейни координати и и и вместо с декартовите
ПодробноMicrosoft Word - ch2.4.doc
9 Кинематика на сложни движения на твърдо тяло 9 Сферично движение на твърдо тяло Определение Сферично движение на твърдо тяло или движение на тяло около неподвижна точка наричаме такова движение при което
ПодробноТЕМАТИЧНО РАЗПРЕДЕЛЕНИЕ ПО ОБРАЗОВАТЕЛНО НАПРАВЛЕНИЕ МАТЕМАТИКА месец Тема Образователно ядро Очаквани резултати Приложение 1 Кое къде е По колк
ТЕМАТИЧНО РАЗПРЕДЕЛЕНИЕ ПО ОБРАЗОВАТЕЛНО НАПРАВЛЕНИЕ МАТЕМАТИКА 1 Кое къде е 2 3 4 По колко са 5 По големина 6 По цвят и по вид Определя мястото на предмет, като използва горе, долу, отпред, отзад. Извършва
Подробногодишно разпределение по математика за 8. клас 36 учебни седмици по 3 учебни часа = 108 учебни часа I срок 18 учебни седмици = 54 учебни часа II срок
годишно разпределение по математика за 8. клас 36 учебни седмици по 3 учебни часа = 08 учебни часа I срок 8 учебни седмици = 54 учебни часа II срок 8 учебни седмици = 54 учебни часа на урок Вид на урока
ПодробноMicrosoft Word - VM-LECTURE06.doc
Лекция 6 6 Уравнения на права и равнина Уравнение на права в равнината Тук ще разглеждаме равнина в която е зададена положително ориентирана декартова координатна система O с ортонормиран базис i и j по
ПодробноTitle of Presentation
INDESIGN УРОК 1 ЗАПОЗНАВАНЕ С ПРОГРАМАТА Изготвил: инж. Дарина Атанасова, ркк при ІV ЕГ Начален екран. Нов документ. Първоначални настройки на документ. Промяна на мерните единици. Промяна на настройките
ПодробноОсновен вариант за клас Задача 1. (4 точки) На графиката на полином a n x n + a n 1 x n a 1 x + a 0, чиито коефициенти a n, a n 1,..., a 1
Основен вариант за 10 12 клас Задача 1. (4 точки) На графиката на полином a n x n + a n 1 x n 1 + + a 1 x + a 0, чиито коефициенти a n, a n 1,..., a 1, a 0 са цели числа, са отбелязани две точки с целочислени
ПодробноMicrosoft Word - VypBIOL-10-Tvyrdo-Tialo.doc
Въпрос 10 МЕХАНИКА НА ИДЕАЛНО ТВЪРДО ТЯЛО Във въпроса Механика на идеално твърдо тяло вие ще се запознаете със следните величини, понятия и закони, както и с основните единици за измерване: Идеално твърдо
ПодробноФормули за нареждане на Рубик куб
Етап 1 Опознаване на твоят Рубик куб Кубът на Рубик се състои от 26 видими съставни части, разделени в три категории: 8бр. ъглови кубчета (Corner Pieces). Части с три цвята, които се намират на всеки ъгъл
ПодробноSlide 1
Въпрос 18 Пропелерни помпи Лекции по Помпи и помпени станции 1 1) Устройство Работно колело 1, на което са закрепени неподвижно или подвижно от три до шест лопатки 2 с аеродинамична форма и извит нагоре
ПодробноEastern Academic Journal ISSN: Issue 2, pp , August, 2019 МЕТОДИ ЗА ИЗОБРАЗЯВАНЕ НА МНОГОСТЕНИ Снежанка И. Атанасова Университет по хра
МЕТОДИ ЗА ИЗОБРАЗЯВАНЕ НА МНОГОСТЕНИ Снежанка И. Атанасова Университет по хранителни технологии Пловдив sneja_atan@yahoo.com РЕЗЮМЕ В настоящата статия се разглеждат различни методи за изобразяване на
ПодробноРешения на задачите от Тема на месеца за м. март 2018 Даден е многоъгълник, който трябва да бъде нарязан на триъгълници. Разрязването става от връх къ
Решения на задачите от Тема на месеца за м. март 2018 Даден е многоъгълник, който трябва да бъде нарязан на триъгълници. Разрязването става от връх към несъседен връх и открай до край, без линиите на разрезите
ПодробноЛекция Класификация с линейна обучаваща машина Обучаващата машина може да бъде дефинирана като устройство, чиито действия са повлияни от миналия опит
Лекция Класификация с линейна обучаваща машина Обучаващата машина може да бъде дефинирана като устройство, чиито действия са повлияни от миналия опит [1]. Линейната обучаваща машина (ЛОМ) е стравнително
ПодробноMicrosoft Word - 02_r037rev3am1.doc
1 март 2002 г. Стр. 1 СПОГОДБА ЗА ПРИЕМАНЕ НА ЕДНАКВИ ТЕХНИЧЕСКИ ПРЕДПИСАНИЯ ЗА КОЛЕСНИ ПРЕВОЗНИ СРЕДСТВА, ОБОРУДВАНЕ И ЧАСТИ, КОИТО МОГАТ ДА БЪДАТ МОНТИРАНИ И/ИЛИ ИЗПОЛЗВАНИ НА КОЛЕСНИ ПРЕВОЗНИ СРЕДСТВА
ПодробноМашинно обучение Лабораторно упражнение 9 Класификация с множество класове. Представяне на невронна мрежа Упражнението демонстрира класификация в множ
Машинно обучение Лабораторно упражнение 9 Класификация с множество класове. Представяне на невронна мрежа Упражнението демонстрира класификация в множество класове чрез методи логаритмична регресия и невронни
ПодробноIguana.indd
IGUANA CIRCO WA Детска рисунка на слънцето. Вдъхновен от детска рисунка, Iguana Circo е интерпретация на ярко блестящото слънце, превърнато в напълно функционално произведение на изкуството. IGUANA има
ПодробноMicrosoft Word - Sem03_KH_VM2-19.docx
Семинар Символи на Кронекер и Леви-Чивита. Видове произведения между вектори и тензори. В едно D евклидово пространство R³ имаме: Скалар: p брой индекси 0, брой компоненти 0 =. Вектор: a = a, a, ) брой
ПодробноMicrosoft Word - VypBIOL-02-Kin-Okryznost.doc
ВЪПРОС КИНЕМАТИКА НА ДВИЖЕНИЕТО НА МАТЕРИАЛНА ТОЧКА ПО ОКРЪЖНОСТ Във въпроса Кинематика на движението на материална точка по окръжност вие ще се запознаете със следните величини, понятия и закони, както
ПодробноНАЦИОНАЛНА ПРИРОДО-МАТЕМАТИЧЕСКА ГИМНАЗИЯ АКАД. Л. ЧАКАЛОВ XXI МАТЕМАТИЧЕСКО СЪСТЕЗАНИЕ,,РИКИ 27 април 2014г. ПРИМЕРНИ РЕШЕНИЯ Задача 1. Да се реши ур
НАЦИОНАЛНА ПРИРОДО-МАТЕМАТИЧЕСКА ГИМНАЗИЯ АКАД. Л. ЧАКАЛОВ XXI МАТЕМАТИЧЕСКО СЪСТЕЗАНИЕ,,РИКИ 7 април 0г. ПРИМЕРНИ РЕШЕНИЯ Задача. Да се реши уравнението ( n. ) ( ), където n е естествено число. ( n n.
ПодробноСтилове в интернет страници
инж. Елена Гълбачева Най-често използвания език за управление изгледа на интернет страници. По принцип CSS може да се използва найобщо за XML документи, но най-честата употреба е съвместно с HTML за задаване
ПодробноОсновен вариант, клас Задача 1. (3 точки) За кои n съществуват различни естествени числа a 1, a 2,..., a n, за които сборът е естествено число
Основен вариант, 0. 2. клас Задача. (3 точки) За кои n съществуват различни естествени числа, a 2,..., a n, за които сборът е естествено число? a 2 a 3 + + a n Решение: Ще докажем, че n =, n > 2. При n
ПодробноSlide 1
Проектът се осъществява с финансовата подкрепа на Оперативна Програма Развитие на Човешките Ресурси 7 3, Съфинансиран от Европейския Социален Фонд на Европейския Съюз Инвестира във вашето бъдеще! ПОВИШАВАНЕ
ПодробноMicrosoft Word - PMS sec1212.doc
Лекция Екстремуми Квадратични форми Функцията ϕ ( = ( K се нарича квадратична форма на променливите когато има вида ϕ( = aij i j i j= За коефициентите предполагаме че a ij = a ji i j При = имаме ϕ ( =
ПодробноГодишното тематично разпределение по Компютърно моделиране за 4. клас N седмица Тема очаквани резултати Методи бележки и коментари Първи учебен срок Т
Годишното тематично разпределение по Компютърно моделиране за 4. клас N седмица Тема очаквани резултати Методи бележки и коментари Първи учебен срок Тема 1. Информация 1 1 Видове информация Познава начините
ПодробноПРОГРАМА ПО МАТЕМАТИКА I. Алгебра 1. Цели и дробни рационални изрази и действия с тях. Формули за съкратено умножение. 2. Квадратен корен. Корен n-ти.
ПРОГРАМА ПО МАТЕМАТИКА I. Алгебра 1. Цели и дробни рационални изрази и действия с тях. Формули за съкратено умножение. 2. Квадратен корен. Корен n-ти. Коренуване на произведение, частно, степен и корен.
Подробно