Oświetlenie obiektów 3D



Podobne dokumenty
Animowana grafika 3D. Opracowanie: J. Kęsik.

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych

GRK 4. dr Wojciech Palubicki

GRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu

Grafika komputerowa. Model oświetlenia. emisja światła przez źródła światła. interakcja światła z powierzchnią. absorbcja światła przez sensor

1. Oświetlenie Materiały i powierzchnie

Zjawisko widzenia obrazów

6 Przygotował: mgr inż. Maciej Lasota

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

Grafika komputerowa Wykład 10 Modelowanie oświetlenia

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe

Oświetlenie w OpenGL. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 8. Światło otaczajace. Światło rozproszone.

Scena 3D. Cieniowanie (ang. Shading) Scena 3D - Materia" Obliczenie koloru powierzchni (ang. Lighting)

Plan wykładu. Akcelerator 3D Potok graficzny

Gry komputerowe, Informatyka N1, III Rok

Bartosz Bazyluk POTOK RENDEROWANIA Etapy renderowania w grafice czasu rzeczywistego. Grafika Komputerowa, Informatyka, I Rok

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak

Światło. W OpenGL można rozróżnić 3 rodzaje światła

Rendering obrazu 3D. Rendering. Synteza i obróbka obrazu

Efekty dodatkowe w rasteryzacji

Transformacje. dr Radosław Matusik. radmat

17. Który z rysunków błędnie przedstawia bieg jednobarwnego promienia światła przez pryzmat? A. rysunek A, B. rysunek B, C. rysunek C, D. rysunek D.

Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny

Transformacje obiektów 3D

Synteza i obróbka obrazu. Modelowanie obiektów 3D

1. Podstawowe algorytmy techniki rastrowe a) dwa przecinające się odcinki mogą nie mieć wspólnego piksela (T) b) odcinek o współrzędnych końcowych

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

- 1 - OPTYKA - ĆWICZENIA

Cieniowanie. Mirosław Głowacki

OpenGL model oświetlenia

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Ćwiczenie Nr 11 Fotometria

Światła i rodzaje świateł. Dorota Smorawa

OpenGL : Oświetlenie. mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski. Szczecin, r 1/23

SYNTEZA OBRAZU. Rendering obrazu 3D

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

OpenGL Światło (cieniowanie)

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie V. Biblioteka OpenGL - oświetlenie sceny

Dzień dobry. Miejsce: IFE - Centrum Kształcenia Międzynarodowego PŁ, ul. Żwirki 36, sala nr 7

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Materiały. Dorota Smorawa

GRAFIKA RASTROWA GRAFIKA RASTROWA

Ćwiczenie 363. Polaryzacja światła sprawdzanie prawa Malusa. Początkowa wartość kąta 0..

Podstawy fizyki wykład 8

SPRAWDZIAN NR 1. I promienie świetlne nadal są równoległe względem siebie, a po odbiciu od powierzchni II nie są równoległe względem siebie.

OpenGL Światło (cieniowanie)

Grafika komputerowa. Dla DSI II

SPRAWDZIAN NR Na zwierciadło sferyczne padają dwa promienie światła równoległe do osi optycznej (rysunek).

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C.

Wprowadzenie do technologii HDR

GRK 5. dr Wojciech Palubicki

8.5. Algorytm kolejnego dzielenia

PODSTAWY BARWY, PIGMENTY CERAMICZNE

MODELE KOLORÓW. Przygotował: Robert Bednarz

Wyznaczenie długości fali świetlnej metodą pierścieni Newtona

KP, Tele i foto, wykład 3 1

Optyka 2012/13 powtórzenie

Julia 4D - raytracing

1. Prymitywy graficzne

Optyka stanowi dział fizyki, który zajmuje się światłem (także promieniowaniem niewidzialnym dla ludzkiego oka).

Przenośne urządzenia pomiarowe Nowy spectro-guide...59 Color-guide do małych detali...64 Color-guide do proszków... 64

Grafika Komputerowa. Wykład 8. Przygotowanie do egzaminu. mgr inż. Michał Chwesiuk 1/32

Grafika 3D program POV-Ray

Synteza i obróbka obrazu. Algorytmy oświetlenia globalnego

Grafika 3D program POV-Ray - 1 -

PDF stworzony przez wersję demonstracyjną pdffactory

CIENIE I CIENIOWANIE W GRAFICE KOMPUTEROWEJ

WSTĘP DO GRAFIKI KOMPUTEROWEJ

Problemy optyki falowej. Teoretyczne podstawy zjawisk dyfrakcji, interferencji i polaryzacji światła.

OP6 WIDZENIE BARWNE I FIZYCZNE POCHODZENIE BARW W PRZYRODZIE

Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE

OpenGL przezroczystość

MODELE OŚWIETLENIA. Mateusz Moczadło

Wykład 17: Optyka falowa cz.2.

Architektura Komputerów

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Własności optyczne materii. Jak zachowuje się światło w zetknięciu z materią?

Zjawisko interferencji fal

Zwierciadło kuliste stanowi część gładkiej, wypolerowanej powierzchni kuli. Wyróżniamy zwierciadła kuliste:

Wyznaczanie zależności współczynnika załamania światła od długości fali światła

rgbf<składowa_r,składowa_g,składowa_b,filter>. Dla parametru filter przyjmij kolejno wartości: 0.60, 0.70, 0.80, 0.90, 1.00, np.:

Trójwymiarowa grafika komputerowa rzutowanie

Zaznacz prawdziwą odpowiedź: Fale elektromagnetyczne do rozchodzenia się... ośrodka materialnego A. B.

Dr Piotr Sitarek. Instytut Fizyki, Politechnika Wrocławska

PL B1. Sposób odczytu topografii linii papilarnych i układ do odczytu topografii linii papilarnych. Politechnika Wrocławska,Wrocław,PL

Grafika komputerowa Tekstury

Tektura obiektów. Ogólnie sekcja opisująca teksturę wygląda następująco:

GRK 5. dr Wojciech Palubicki

CYFROWA SYNTEZA FOTOREALISTYCZNYCH OBRAZÓW W ŚRODOWISKU 3D

Rok akademicki: 2017/2018 Kod: JFM s Punkty ECTS: 7. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Prawa optyki geometrycznej

CHARAKTER OŚWIETLENIA

Synteza i obróbka obrazu HDR. Obrazy o rozszerzonym zakresie dynamiki

Falowa natura światła

Rys. 1 Geometria układu.

21. W STARYM KINIE ŚWIATŁO

Podstawy POV-Ray a. Diana Domańska. Uniwersytet Śląski

Transkrypt:

Synteza i obróbka obrazu Oświetlenie obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych

Rasteryzacja Spłaszczony po rzutowaniu obraz siatek wielokątowych obiektów Barwa każdego piksela ustalona na podstawie barwy zapisanej w modelu oraz wpływu padającego światła

Rasteryzacja Mamy teraz płaski obraz 2D złożony z trójkątów, ale dla każdego werteksa mamy informacje dotyczące sceny 3D: położenie (x, y, z) barwa (dla różnych typów światła) współrzędne wektora normalnego W procesie rasteryzacji barwa każdego piksela jest ustalana na podstawie interpolacji danych z wierzchołków oraz uwzględnienia wpływu światła padającego na scenę 3D.

Światło otoczenia (ambient) Bezkierunkowe, rozproszone światło. Oświetla wszystkie elementy sceny w identyczny sposób. Nie tworzy cieni, nie różnicuje oświetlenia. Daje w rezultacie płaski obraz, pozbawiony wrażenia trójwymiarowości. Przybliżenie np. światła w bardzo pochmurny dzień.

Barwa i natężenie światła Wektor opisuje natężenie oraz barwę światła. Opis składowych barwnych RGB czerwona, zielona, niebieska (r, g, b). Liczby z zakresu od 0 do 1. Przykłady: (1, 1, 1): biała (0, 0, 0): czarna (1, 0, 0): czerwona (1, 0.5, 0): pomarańczowa

Barwa i natężenie światła Przykład obliczeń: barwa obiektu zapisana w wierzchołku: (0.1, 0.3, 1.0) barwa światła otoczenia: (0.9, 0.9, 0.8) barwa wynikowa: (0.1, 0.3, 1.0) (0.9, 0.9, 0.8) = (0.09, 0,27, 0.8)

Światło kierunkowe Światło kierunkowe (directional, diffuse) pada z określonego kierunku w dowolnym punkcie sceny można wyznaczyć wektor kierunku światła wymaga obliczenia światła w wielu punktach różnicuje oświetlenie sceny tworzy cienie daje wrażenie trójwymiarowości

Źródło kierunkowe Kierunkowe źródło światła (directional light): promienie padające równolegle z określonego kierunku opis: kierunek (wektor) i barwa/natężenie stałe natężenie przykład: światło w słoneczny dzień

Źródło obszarowe Obszarowe źródło światła (area light): tak jak źródło kierunkowe, ale obszar promieniowania jest ograniczony do pewnego obszaru. Przykład: okno w pomieszczeniu, ekran TV, neon, itp.

Źródło punktowe Punktowe źródło światła (point light) rozchodzi się z punktu, we wszystkich kierunkach jednakowo opis: pozycja i barwa/natężenie natężenie maleje wraz z odległością od źródła wymaga obliczenia kierunku padania światła dla każdego elementu świata 3D nie ma odniesienia w rzeczywistym świecie

Źródło punktowe Natężenie światła punktowego zależy od odległości od źródła. Natężenie maleje z kwadratem odległości od źródła. Stosuje się wiele modeli tłumienia. Przykładowy model (L 0 natężenie w punkcie źródła, r odległość od źródła): L = a 0 + L0 a r + 1 a 2 r 2

Reflektor Reflektor (spot light): źródło punktowe, z ograniczonym zakresem promieniowania opisane dodatkowo przez dwa stożki: w środku wewnętrznego stożka promieniowanie z pełną intensywnością pomiędzy stożkami stopniowe tłumienie na zewnątrz stożków brak światła przykład: latarnia uliczna, reflektor na scenie

Cieniowanie Cieniowanie (shading): uwzględnienie wpływu światła kierunkowego na obiekty w świecie 3D zacieniowanie słabiej oświetlonych obszarów uwydatnia trójwymiarowość obiektów nie ma związku z rysowaniem cieni obiektów

Wektory normalne Wektor normalny (normal) jest to wektor: prostopadły do powierzchni, o długości 1. Wektor normalny trójkąta (traingle normal): prostopadły do trójkąta, w górę od przedniej ściany trójkąta. Wektor normalny wierzchołka (vertex normal): uśrednione normalne wszystkich trójkątów, które łączy dany wierzchołek.

Wektory normalne Wektory normalne trójkąta i wierzchołka

Wektor normalny trójkąta Obliczenie za pomocą iloczynu wektorowego. Kolejność wektorów ma znaczenie! v u n r r r = x y y x z z x x z y y z z y x v u v u n v u v u n v u v u n = = = A B A B = u r A C A C = v r

Wektory normalne Wektory normalne opisują orientację powierzchni obiektu. Są niezbędne do przeprowadzenia operacji cieniowania. Niemal zawsze są obliczane na etapie modelowania i zapisywane w siatce obiektu. Muszą być poddawane operacjom obrotu (ale nie skalowania!) wraz z obiektem.

Wektor światła Wektor światła jednostkowy wektor od badanego punktu (np. wierzchołka) do źródła światła. Dla źródła kierunkowego: odwrócenie kierunku światła, normalizacja Dla źródła punktowego: wyznaczenie wektora do punktu światła, normalizacja

Wektor światła światło kierunkowe światło punktowe n l n l

Model oświetlenia Lamberta Model Lamberta jest najprostszym i najczęściej stosowanym modelem oświetlenia. Natężenie oświetlenia powierzchni jest wprost proporcjonalne do cosinusa kąta pomiędzy wektorem kierunku światła a wektorem normalnym powierzchni.

Model oświetlenia Lamberta Jak obliczyć cosinus kąta? n wektor normalny punktu l wektor jednostkowy do źródła światła iloczyn skalarny wektorów: r n r l = n xlx + nyly + nzlz r r r r n l = n l cos f cos( θ ) ( θ ) = n xlx + nyly + nzlz ( θ ) = max( cos( θ ), 0)

Model oświetlenia Lamberta Przykład obliczeń (źródło kierunkowe): barwa obiektu zapisana w modelu: (0.1, 0.3, 1.0) barwa światła kierunkowego: (0.9, 0.9, 0.8) bez uwzględnienia modelu oświetlenia: (0.1, 0.3, 1.0) (0.9, 0.9, 0.8) = (0.09, 0,27, 0.8) obliczenie kąta padania: θ = 30, cos(θ) = 0.866 wynikowa barwa punktu: 0.866 (0.09, 0,27, 0.8) = (0.08, 0.23, 0.69)

Cieniowanie płaskie Cieniowanie płaskie (flat shading). Model oświetlenia jest stosowany jeden raz do każdego wielokąta siatki. Tworzy efekt w postaci barwnych wielościanów. Jest szybkie z tego względu bywa stosowane do wstępnych renderów jako szybki podgląd efektu.

Cieniowanie Gourauda Cieniowanie Gourauda: Zastosowanie modelu oświetlenia do każdego wierzchołka siatki obiektu. Interpolacja obliczonej barwy: wzdłuż krawędzi trójkąta, wzdłuż linii poziomej. Wygładza przejścia pomiędzy barwami. Inna nazwa: oświetlenie wierzchołkowe (vertex lighting)

Cieniowanie Gourauda Programista oblicza barwę w wierzchołkach: l 1, l 2, l 3 Rasteryzer dokonuje interpolacji wzdłuż krawędzi trójkąta: obliczenie l a, l b Następnie interpoluje wzdłuż linii skanowania (scanline): obliczenie l p

Materiał Materiał (material) opisuje charakter powierzchni obiektu zdolność do odbijania światła: powierzchnia błyszcząca odbija światło, powstają odblaski (specular), przykład: kula bilardowa powierzchnia matowa pochłania światło, nie powstają odblaski, przykład: gumowa piłka Materiał jest definiowany za pomocą barwy odblasku (specular light), zapisanej w modelu: bliska białej (1,1,1) pow. błyszcząca, bliska czarnej (0,0,0) pow. matowa

Odblaski (specular) Odblask powstaje gdy światło kierunkowe odbija się od powierzchni obiektu i trafia w pobliże kamery.

Odblaski (specular) Obliczenie odblasku: obliczenie wektora odbitego światła R (kąt odbicia = kąt padania) obliczenie wektora V od punktu do kamery obliczenie cosinusa kąta α (iloczyn skalarny) podniesienie wyniku do potęgi p określa twardość (skupienie) odblasku przemnożenie przez barwę odblasku

Odblaski (specular) Metoda cieniowania Gourouda nie nadaje się do dokładnego odwzorowania odblasków. Gdy promień pada na wierzchołek powstaje odblask. Gdy promień pada pomiędzy wierzchołki - zostaje rozmyty. Zniekształcenia są wyraźnie widoczne gdy obiekt się obraca. Potrzebna jest metoda cieniowania, która stosuje model oświetlenia do każdego fragmentu niezależnie.

Cieniowanie Phonga Metoda cieniowania Phonga: interpolowany jest wektor normalny, model oświetlenia jest stosowany do każdego fragmentu, z użyciem interpolowanego wektora normalnego obliczona barwa jest zapisywana w pikselu znacznie więcej obliczeń dokładność dla odblasków inna nazwa: oświetlenie fragmentowe (fragment lighting)

Cieniowanie z interpolacją Cieniowanie płaskie uwidacznia siatkę wielokątową obiektu (wielościan). Metody Gourouda i Phonga stosują interpolację, która wygładza powierzchnię. Dzięki temu uzyskujemy wrażenie płynnego przejścia barwy.

Cieniowanie z interpolacją http://www.cs.cmu.edu/~ph/nyit/

Porównanie metod cieniowania brak Flat Gouraud Phong

Model ADS Model oświetlenia ADS uwzględnia trzy rodzaje światła, stosowane równocześnie: A światło otoczenia (ambient) D światło kierunkowe (diffuse, directional) S odblaski świetlne (specular). Każdy typ oświetlenia jest definiowany osobno: dla źródła światła (światło emitowane), dla wierzchołka siatki (światło odbite). Wynikowa barwa piksela: suma oświetlenia A + D + S

Model ADS http://what-when-how.com/advanced-methods-in-computer-graphics/ mathematical-preliminaries-advanced-methods-in-computer-graphics-part-4/

Model ADS Nie musimy podawać każdej z 6 barw. Jeżeli chcemy pominąć wpływ jednego ze świateł, podajemy wartość białą (1,1,1). Typowo podajemy barwy: źródła światła otoczenia (globalnie) źródła światła kierunkowego (dla każdego źródła) barwy odblasku modelu (dla każdego wierzchołka modelu). Barwa światła kierunkowego dla modelu jest zwykle próbkowana z tekstury.

Model ADS Dlaczego używamy światła otoczenia (ambient)? Rzeczywista scena jest oświetlona światłem odbitym od powierzchni. Model ADS w rasteryzacji czasu rzeczywistego uwzględnia tylko światło bezpośrednie pomija odbicia. Obszary sceny nie oświetlone światłem bezpośrednim pozostałyby czarne. Aby doświetlić scenę, dodajemy światło otoczenia.

Przykład obliczania modelu ADS Barwa padającego światła ambient diffuse specular Barwa zdefiniowana w werteksie Wynik dla danego światła Wynik łączny

Podsumowanie obliczenie cieniowania Barwy światła odbitego zapisane w modelach. Typ, barwy i pozycje/kierunki źródeł światła zdefiniowane w opisie sceny. Wybrany model cieniowania np. Phonga. Dla każdego ze źródeł światła kierunkowego: obliczyć kąt padania światła, obliczyć barwę światła kierunkowego, obliczyć odblask. Dodać światło otoczenia. Suma barw wszystkich świateł A, D, S jest przenoszona na piksel obrazu.

Podsumowanie opis wierzchołka w modelu Jeden wierzchołek obiektu: współrzędne wierzchołka (x, y, z) współrzędne wektora normalnego [x, y, z] barwa odbitego światła otoczenia A (zwykle biała: 1,1,1) barwa odbitego światła kierunkowego D (zwykle biała: 1,1,1) materiał barwa odblasku S