Efekty dodatkowe w rasteryzacji

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

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

Oświetlenie obiektów 3D

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

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

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

Plan wykładu. Akcelerator 3D Potok graficzny

Gry komputerowe: efekty specjalne cz. 2

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

SYNTEZA OBRAZU. Rendering obrazu 3D

GRK 4. dr Wojciech Palubicki

Architektura Komputerów

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

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

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

a. Czym różni się sposób liczenia odbicia zwierciadlanego zaproponowany przez Phonga od zaproponowanego przez Blinna?

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

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

Karty graficzne możemy podzielić na:

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

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

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

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

Filtrowanie tekstur. Kinga Laurowska

Zaawansowana Grafika Komputerowa

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

WSTĘP DO GRAFIKI KOMPUTEROWEJ

Grafika komputerowa Tekstury

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

Architektura systemów komputerowych Ćwiczenie 3

Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest

Algorytmy oświetlenia globalnego

Transformacje. dr Radosław Matusik. radmat

1. Prymitywy graficzne

Architektura Komputerów

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Transformacje obiektów 3D

Grafika komputerowa Wykład 10 Modelowanie oświetlenia

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

Autodesk 3D Studio MAX Teksturowanie modeli 3D

Zjawisko widzenia obrazów

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

OpenGL przezroczystość

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

Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok

Architektura Procesorów Graficznych

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

GRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu

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

Julia 4D - raytracing

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

GRK 5. dr Wojciech Palubicki

GRK 5. dr Wojciech Palubicki

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

HDR. Obrazy o rozszerzonym zakresie dynamiki

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

1. Czym jest rendering? a. Komputerowa analiza modelu danej sceny i utworzenie na jej podstawie obrazu 2D. b. Funkcja umożliwiająca kopiowanie obrazu

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

Grafika realistyczna. Oświetlenie globalne ang. global illumination. Radosław Mantiuk

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

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

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

PDF stworzony przez wersję demonstracyjną pdffactory

Grafika 3D na przykładzie XNA 3.1

Grafika Komputerowa. Teksturowanie

Śledzenie promieni w grafice komputerowej

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

Gry komputerowe, Informatyka N1, III Rok

Unity 3D - tworzenie sceny

Przykładowe pytania na teście teoretycznym

OpenGL Światło (cieniowanie)

Implementacja filtru Canny ego

WPROWADZENIE DO GRAFIKI KOMPUTEROWEJ

Trójwymiarowa grafika komputerowa rzutowanie

Grafika Komputerowa 3D Etap drugi

Teksturowanie (ang. texture mapping)

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Wprowadzenie do grafiki maszynowej. Wprowadenie do teksturowania

Grafika Komputerowa. Metoda śledzenia promieni

MODELE OŚWIETLENIA. Mateusz Moczadło

OpenGL i wprowadzenie do programowania gier

CIENIE I CIENIOWANIE W GRAFICE KOMPUTEROWEJ

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

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

Grafika komputerowa i wizualizacja

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

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

Nowości w Rhino 5. Oto główne obszary, na których skupili się programiści nowej wersji Rhinoceros:

Wstęp Podstawy Pierwszy program Definiowanie sceny 3D Przekształcenia geometryczne... 47

Wirtualny rzeźbiarz cz.2

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.:

GRAFIKA KOMPUTEROWA 10: Antyaliasing

Grafika komputerowa. Dr inż. Michał Kruk

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza i obróbka obrazu

Podstawy grafiki komputerowej

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

Przetwarzanie obrazu i dźwięku

4/4/2012. CATT-Acoustic v8.0

OpenGL Światło (cieniowanie)

Transkrypt:

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

Efekty dodatkowe Cieniowanie i teksturowanie pozwala uzyskać wyrenderowany obraz sceny 3D. Dla poprawy realizmu, stosuje się dodatkowe efekty nakładane na wynik, np.: mapowanie nierówności, rysowanie cieni, odbicia lustrzane, antyliasing, inne efekty specjalne.

Odwzorowanie nierówności powierzchni Tekstury są zawsze gładkie. Nałożenie na obiekt tekstury przedstawiającej np. mur z cegły nie da realistycznego efektu. Kierunek oświetlenia przy tworzeniu tekstury jest inny niż w końcowej scenie. Mapowanie nierówności (bump mapping) technika pozwalająca uzyskać wrażenie nierówności powierzchni poprzez symulację przesunięcia wybranych pikseli na osi z do przodu lub do tyłu przy pomocy mapy przesunięcia (mapy nierówności).

Odwzorowanie nierówności powierzchni Mapa nierówności tekstury: dodatkowa tekstura, jednokanałowa. Wartość teksela mapy odpowiada wypukłości teksela tekstury. Bez mapowania Mapa nierówności Wynik

Bump mapping Przykład zastosowania bump mapping: obliczane są wektory normalne dla każdego fragmentu, kierunki wektorów normalnych są modyfikowane ( odchylane ) na podstawie mapy nierówności, zmodyfikowane wektory normalne są używane do cieniowania metodą Phonga.

Bump maping przykład Torus bez odwzorowania powierzchni i z wykorzystaniem techniki bump mapping

Normal mapping Normal mapping, nazywane też Dot3 bump mapping, to odmiana metody mapowania nierówności powierzchni: mapa normalnych jest teksturą trójkanałową zawiera ona zapisane kierunki wektorów normalnych dla każdego teksela mapy, rasteryzer próbkuje wektory normalne z mapy zamiast interpolować je z werteksów. Metoda bardziej dokładna, wymaga więcej pamięci.

Normal mapping vs. Bump mapping NORMAL BUMP

Displacement mapping Displacement mapping odwzorowanie przemieszczeń zamiast imitować nierówności, metoda tworzy prawdziwe nierówności: siatka trójkątów dzielona jest na mniejsze trójkąty, siatka jest deformowana zgodnie z mapą przemieszczeń, na zdeformowaną siatkę nakładana jest tekstura, która układa się na wygiętej powierzchni. Metoda bardzo złożona, wymaga operacji bezpośrednio na werteksach siatki.

Parallax mapping Parallax mapping odwzorowuje nierówności biorąc pod uwagę kąt patrzenia na płaszczyznę. Polega na przekształcaniu tekstury zależnie od informacji zapisanej w mapie wysokości i od kierunku obserwacji. Inne nazwy: Photonic Mapping, Offset Mapping, Virtual Displacement Mapping

Cienie obiektów Cienie dodają realizmu i pozwalają ustalić położenie obiektów. Uwaga: operacja cieniowania nie rysuje cieni!

Tworzenie cieni Rysowanie cieni wymaga sprawdzenia czy promienie światła przechodzą przez powierzchnie obiektów. Rasteryzacja czasu rzeczywistego bierze pod uwagę tylko promienie bezpośrednie, co nie pozwala na wyznaczenie cieni. Rysowanie cieni wymaga zastosowania osobnego algorytmu tylko do tego celu. Z tego powodu, w opcjach gier komputerowych często można wyłączyć lub włączyć algorytm rysowania cieni.

Shadow mapping Algorytm mapowania cieni (shadow mapping, texture shadows): rzutowanie z punktu widzenia źródeł światła: ortogonalne dla światła kierunkowego, perspektywiczne dla św. punktowego fragmenty widziane przez źródła światła są zapisywane w mapie cieni (shadow map) jednokanałowej teksturze, wymaga obliczeń dla każdego źródła światła.

Shadow mapping Pierwszy przebieg renderingu tylko światło otoczenia, cała scena w cieniu. Projekcja mapy cienia na płaszczyznę obrazu: dla każdego fragmentu przeprowadza się depth test czy jest w cieniu. Rendering z uwzględnieniem świateł tylko dla fragmentów, dla których depth test się powiedzie oświetlone piksele. Pozostałe fragmenty zostają w cieniu. Wada metody: krawędzie cieni nie wyglądają realistycznie.

Bufor maski Bufor maski (stencil buffer) pomocniczy bufor obrazu (jednokanałowy), który pozwala wyłączyć wybrane fragmenty z procesu renderingu. Np. dla rysowania cieni: pierwszy przebieg (cienie) dla całego obrazu, obliczenie mapy cienia i zapisanie zacienionych fragmentów w buforze maski, włączenie bufora maski, drugi przebieg (światła) tylko dla fragmentów nie zamaskowanych w buforze.

Shadow mapping Obraz bez cieni Wyznaczenie mapy cieni Projekcja mapy cieni Obraz z cieniami

Shadow volume Shadow volume (stencil shadows): wyznaczenie wielokątów siatki skierowanych w stronę źródła światła, połączenie ich w sylwetkę (silhouette), wyznaczenie bryły cienia dla całej sylwetki, ew. obcięcie bryły cienia z przodu / z tyłu, wyznaczenie pikseli leżących wewnątrz bryły cienia, oznaczenie tych pikseli w buforze maski (stencil buffer).

Shadow volume Przebieg rasteryzacji podobnie jak dla metody mapy cieni. Metoda jest bardziej złożona obliczeniowo. Daje bardziej dokładne i realistyczne cienie.

Shadow volume Przykład: http://developer.nvidia.com/object/robust_shadow_volumes.html

Odbicia lustrzane Efekt odbicia w lustrze: renderowana jest scena bez odbić, tworzona jest maska, wyznaczająca fragmenty należące do powierzchni lustra, obliczane są pozycje odbitych obiektów tylko dla fragmentów nie przykrytych maską, renderowane jest odbicie w lustrze. Metoda nadaje się tylko dla płaskich powierzchni. odbicie lustro obiekt

Environment mapping Bardziej złożony algorytm nosi nazwę reflection mapping (mapowanie odbić) lub environment mapping (mapowanie środowiska). Tworzona jest dynamiczna tekstura (obliczana podczas renderingu), przedstawiająca zawartość otoczenia, tekstura ta jest mapowana na powierzchnię obiektu. Metoda nadaje się do mapowania niezmiennych scen (np. pomieszczeń).

Environment mapping Mapowanie kubiczne (cubic EM): obiekt znajduje się wewnątrz sześcianu, zawartość otoczenia jest rzutowana na ściany, powstaje w ten sposób specjalna dynamiczna tekstura cube map, tekstura ta jest mapowana na powierzchnię obiektu.

Environment mapping Przykład mapowania: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0505c/babbaida.html

Skybox Inne zastosowanie tekstur kubicznych: skybox. Wirtualny świat jest zamknięty w sześcianie, jego sześcianu są pokryte teksturą, która imituje dalekie plany.

Przezroczystość bez załamań Powierzchnie mogą być przezroczyste lub półprzezroczyste (np. szkło) mogą częściowo przepuszczać światło. Obiekty zasłaniane mogą być więc częściowo widoczne. Przezroczystość interpolowana (alpha blending) kombinacja barwy fragmentu obliczonej dla wielokąta zasłaniającego i zasłanianego, biorąc pod uwagę współczynnik przezroczystości, np.: K = αk 1 + (1-α)K 2 Przezroczystość filtrowana wielokąt traktowany jest jak filtr, który selektywnie przepuszcza różne długości fali.

Systemy cząsteczkowe Systemy cząsteczkowe (particle system) służą do generowania efektów takich jak ogień, dym, chmury, iskry, deszcz, itp. Definicja emitera pozycja, szybkość generowania cząsteczek, kierunek, czas życia, zmiany koloru, itp. Symulacja tworzenie kolejnych etapów rozwoju systemu Rendering rysowanie cząsteczek.

Odwzorowanie mgły Efekt mgły (fog) symuluje widoczność obiektów w naturze: bliższe obiekty są bardziej wyraźne dalsze obiekty są bardziej przysłonięte przez mgłę. Brak efektu mgły Symulacja mgły

Odwzorowanie mgły Metody symulacji mgły: Fog Table (Pixel Fog) starsza metoda, obliczenia wykonywane są dla każdego fragmentu przy pomocy informacji o głębi zapisanej w buforze. Fog Vertex efekt mgły obliczany jest dla każdego wierzchołka wielokąta, a następnie interpolowany przez rasteryzer.

Oświetlenie wolumetryczne Volumetric lighting Efekt promieni światła prześwitujących np. przez chmury lub przez listowie. Strumień światła ze źródła jest traktowany jako przezroczysty stożek. Obiekty znajdujące się wewnątrz tego stożka (dym, chmury, para wodna) mają możliwość przepuszczania światła.

Okluzja otoczenia Okluzja otoczenia (ambient occlusion) - zaciemnienie obszarów w zagłębieniach, kątach oraz pod i pomiędzy powierzchniami.

Efekty kaustyczne Caustic promienie światła odbite lub załamane przez zakrzywioną powierzchnię, np. światło na wodzie.

Rozpraszanie podpowierzchniowe Subsurface scattering efekt promieni świetlnych, które wnikają do wnętrza obiektu, odbijają się kilkakrotnie, po czym opuszczają obiekt. Metoda pozwala np. poprawić realizm wyglądu skóry człowieka.

Anty-aliasing Antialiasing redukcja zniekształceń powstających na ukośnych krawędziach.

Supersampling (FSAA) Supersampling najprostsza metoda antyaliasingu. Polega na wykonaniu renderingu w n razy większej rozdzielczości (n= 2, 4, 8). Przeskalowanie w dół do docelowej rozdzielczości powoduje rozmycie krawędzi, a przez to redukcję zniekształceń. Wada: znaczne wydłużenie renderingu (wyznaczanie barwy dla każdego piksela obrazu w zwiększonej rozdzielczości): 1920x1080: 2073600 px, zwiększenie x2: 8294400 px (4x więcej)

Multisampling (MSAA) Zoptymalizowane podejście: nie ma sensu zwiększać liczby fragmentów w obszarze, który w całości należy do jednego trójkąta. Jest to potrzebne tylko na krawędziach trójkątów. W tych obszarach dokonuje się podpróbkowania więcej niż jeden fragment na piksel docelowego obrazu (m.in. dlatego fragment piksel).

Multisampling (MSAA) Każdy piksel dzielony na n subpikseli, dla każdego subpiksela wyznaczamy: pokrycie (coverage) przez wielokąt, zasłonięcie (occlusion) przez inne w., barwa wyznaczana jest dla całego piksela i zapisywana dla wszystkich subpikseli pokrytych przez w. i nie zasłoniętych, wynikowa barwa piksela uśrednienie barw wszystkich subpikseli za pomocą filtru. Istnieje wiele odmian metody MSAA.

Multisampling (MSAA) Przykład: bez AA MSAA źródło: http://mynameismjp.wordpress.com/2012/10/24/msaa-overview/

Multisampling (MSAA) Powiększony przykład dla MSAA różnego stopnia źródło: http://mynameismjp.wordpress.com/2012/10/24/msaa-overview/

Podsumowanie Ustawienia gry wydłużające czas renderingu (a więc zmniejszające fps): duża rozdzielczość obrazu, filtracja tekstur (zwłaszcza anizotropowa), stopień filtracji, antyaliasing, jego stopień (2, 4, 8), odległość rysowania (distance draw), rysowanie cieni, stopień dokładności, mgła, efekty cząsteczkowe dym, ogień, efekty specjalne np. odbicia zwierciadlane.