View
9
Download
0
Category
Preview:
Citation preview
Grafika Komputerowa Michał Chwesiuk
mgr inż. Michał Chwesiuk
1/30
Grafika KomputerowaWykład 4
Synteza grafiki 3D
Grafika Komputerowa Michał Chwesiuk
Synteza grafiki 3D
2/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis.
● Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego na podstawie opisu zawartości.
● Synteza grafiki 3D polega na rekonstrukcji obrazu zawierającego elementy umieszczone w przestrzeni trójwymiarowej.
○ Opis elementów obrazu nazywany jest sceną.
○ Celem syntezy grafiki 3D jest uzyskanie obrazu dwuwymiarowego będącego wizualizacją trójwymiarowej sceny przy ustalonych parametrach.
Grafika Komputerowa Michał Chwesiuk
Synteza grafiki 3D
3/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Scena
Zawiera w sobie opis i położenie brył, kamerę,źródła światła itd.
● Algorytm
Proces przetwarzaniasceny i generowanie najego podstawie nazywamyrenderingiem.
● Obraz
Wynik w postacidwuwymiarowegoobrazu rastrowego.
Grafika Komputerowa Michał Chwesiuk
Rendering
4/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
Grafika rzeczywista
● Celem jest wyrenderowanie trójwymiarowej sceny w najlepszej jakości.
● Nieograniczony czas na renderowanie!
● Próba implementacji zjawisk optycznych występujących w rzeczywistości w taki sposób, aby były bardzo podobne, lub wręcz idealnie odwzorowane.
● Wykorzystywana w filmach, reklamach, komputerowo generowanych obrazach, w sztuce
Grafika czasu rzeczywistego
● Celem jest wyrenderowanie danego obrazu w jak najkrótszym czasie (np. 16ms - 60 klatek na sekundę).
● W celu przyspieszenia obliczeń stosuje się uproszczenia w implementacji zjawisk zachodzących w prawdziwym świecie.
● Upraszcza się jakość renderowanej sceny, obiektów 3D, modelu oświetlenia, nie symuluje się także części zjawisk.
● Wykorzystywana w grach komputerowych, symulacjach, wirtualnej rzeczywistości.
Grafika Komputerowa Michał Chwesiuk
Grafika realistyczna
5/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Brak ograniczeń czasowych w czasie procesu renderingu.
○ Generowanie pojedynczej klatki obrazu może trwać od kilku sekund do nawet kilku dni!
● Algorytmy używane mają za zadanie naśladować rzeczywiste zjawiska optyczne.
○ Przykładowe algorytmy :
■ Ray Tracing
■ Photon Mapping
Grafika Komputerowa Michał Chwesiuk
Grafika czasu rzeczywistego
6/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Konieczność uzyskania płynnych animacji
○ Najczęściej 60 klatek na sekundę, często nawet krócej.
● Użycie uproszczeń w celu przyspieszenia renderingu.
○ Redukcja szczegółowości
○ Uproszczony model oświetlenia
○ Ograniczona symulacja zjawisk wizualnych
Grafika Komputerowa Michał Chwesiuk
Scena
7/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Scena zawiera opis elementów wirtualnego świata. Składa się z :
○ Obiekty geometryczne■ Bryła, położenie, kierunek obrotu, skala itd.
○ Cechy obiektów■ Kolor i typ materiału, tekstura.
○ Kamera■ Położenie, kierunek widzenia, kąt widzenia, typ.
○ Źródła światła■ Rodzaj, intensywność, położenie.
○ Parametry środowiska■ Mgła, dym itd.
Grafika Komputerowa Michał Chwesiuk
Modele 3D
8/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Obiekty geometryczne zawarte w scenie nazywamy modelami.
● Modele to geometryczna reprezentacja obiektów.
● Sam model nie jest grafiką, jest opisem obiektu.
○ Podobieństwo do grafiki wektorowej.
Grafika Komputerowa Michał Chwesiuk
Modele 3D
9/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Model składa się z wierzchołków.
● Wierzchołki te łączą się w wielokąty (ang. Polygons), które tworzą powierzchnię obiektu.
○ Wierzchołki mogą się różnie łączyć w poligony, zależnie od zastosowania.
○ Mogą to być trójkąty, czworokąty itd.
Grafika Komputerowa Michał Chwesiuk
Modele 3D
10/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
Model High-poly
● Stosuje się w grafice realistycznej z uwagi na dużą ilość szczegółów.
Model Low-poly
● Stosuje się w grafice czasu rzeczywistego z uwagi na dokonane uproszczenia.
Grafika Komputerowa Michał Chwesiuk
Modele 3D
11/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Modele tworzy się w wyspecjalizowanym oprogramowaniu do tworzenia grafiki 3D, np :
○ Blender
○ 3ds Max
○ Maya
○ Google SketchUp
Grafika Komputerowa Michał Chwesiuk
Układ współrzędnych
12/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Obiekty są zawarte w układzie współrzędnych kartezjańskich.
● Jednostki w tych układach są arbitralne, można przyjąć dowolną wartość, np. jednostka to jeden metr, jeden cal, 24 cm, 2 ft ...
● Układ osii może się różnić w zależności od użytego oprogramowania.
○ Układ prawoskrętny - np. OpenGL
○ Układ lewoskrętny - np. Blender
Grafika Komputerowa Michał Chwesiuk
Przekształcenia geometryczne
13/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Często zdarza się, że na scenie występuje więcej niż jedna instancja obiektu różniąca się położeniem, orientacją i wielkością.
● Kopiowanie wszystkich wierzchołków z jednego obiektu do drugiego nie jest optymalne.
● Przesuwanie obiektów za pomocą edytowania wszystkich wierzchołków także nie jest optymalne.
● Do obydwóch przytoczonych sytuacji stosuje się przekształcenia geometryczne.
Grafika Komputerowa Michał Chwesiuk
Przekształcenia modelu
14/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● W procesie renderowania mnoży się każdy wierzchołek przez macierz modelu (ang. model matrix).
● Macierz modelu to iloczyn macierzy transformujących bryłę.
● Każda z tych macierzy wykonuje jedną z podstawowych transformacji geometrycznych.
○ Translację - przesunięcie obiektu.
○ Rotację - zmianę orientacji obiektu o daną oś.
○ Skalowanie - zmiana wielkości obiektu.
Grafika Komputerowa Michał Chwesiuk
Przekształcenia modelu
15/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
Grafika Komputerowa Michał Chwesiuk
Przekształcenia modelu
16/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
Grafika Komputerowa Michał Chwesiuk
Kamera
17/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Ważnym elementem sceny jest także kamera.
● Kamera sceny jest to “wirtualne oko”, z którego obserwujemy świat .
● Kamera posiada swoje położenie w przestrzeni sceny, a także punkt patrzenia.
● Manipulacja kamerą pozwala nam wyświetlić tę samą scenę z wielu innych punktów odniesienia.
Grafika Komputerowa Michał Chwesiuk
Kamera
18/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Różne punkty widzenia w zależności od położenia kamery.
● Nieodpowiednie operowanie kamerą skutecznie zapobiegnie poprawnemu przedstawienie wyrenderowaniem sceny.
● Ekipy filmowe tworzące animacje zatrudniają specjalistów od wykorzystywania wirtualnych kamer.
Grafika Komputerowa Michał Chwesiuk
Kamera
19/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Pojedynczy rzut kamery nie jest w stanie wyświetlić wszystkich szczegółów sceny.
● W grafice czasu rzeczywistego często pozwala się graczowi na manipulację kamerą.
● Należy poprawnie zaprojektować obsługę kamery w sposób poprawny dla wyświetlanej sceny.
Grafika Komputerowa Michał Chwesiuk
Kamera
20/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Kamerę opisujemy za pomocą trzech parametrów :
○ Pozycja (p) - współrzędne położenia kamery w przestrzeni sceny.
○ Kierunek (d) - wektor patrzenia kamery.
○ Wektor góry (u) - wektor wskazujący pion.
Grafika Komputerowa Michał Chwesiuk
Kamera
21/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Wektor góry jest także ważnym elementem kamery, dzięki niemu możemy dobrać pion.
○ Najczęściej ustawiany jako wektor (0, 1, 0)
Grafika Komputerowa Michał Chwesiuk
Macierz widoku
22/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● W OpenGL stosuje się parametry kamery w postaci macierzy widoku.
Grafika Komputerowa Michał Chwesiuk
Rzut kamery
23/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Wyróżniamy dwa rzuty kamery.
○ Rzut perspektywiczny (po lewej)
○ Rzut ortogonalny (po prawej)
Grafika Komputerowa Michał Chwesiuk
Rzut perspektywiczny
24/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● W rzucie perspektywicznym kamery występują cztery parametry.
○ Kąt widzenia (ang. field of view - FOV)
○ Aspekt (ang. aspect) - proporcje ekranu
○ Odległość płaszczyzny bliskiego odcinania (ang. near clipping plane)
○ Odległość płaszczyzny dalekiego odcinania (ang. far clipping plane)
Grafika Komputerowa Michał Chwesiuk
Rzut perspektywicznyKąt widzenia
25/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Kąt widzenia wyrażany w stopniach (70° po lewej, 35° po prawej).
● Jest tożsamy ze zmianą ogniskowej obiektywu.
● Nie jest tożsamy z przybliżeniem/oddaleniem kamery!
Grafika Komputerowa Michał Chwesiuk
Rzut perspektywicznyAspekt
26/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny● Aspekt - proporcje boków podstawy ściętego ostrosłupa (ang. frustum).
● Stosunek szerokości do wysokości.
● 4:3, 16:9, 16:10 ...
Grafika Komputerowa Michał Chwesiuk
Rzut perspektywicznyPłaszczyzny odcinania
27/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny● Odległość płaszczyzn przycinania :
○ Bliskiej - n
○ Dalekiej - f
● Określają zakres odległości, w jakiej będzie renderowana scena.
● Ma związek z precyzją bufora głębokości - im większy zakres, tym większa szansa powstania problemu z-fighting.
Grafika Komputerowa Michał Chwesiuk
Macierz projekcji
28/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● W OpenGL stosuje się parametry związane z rzutem kamery w postaci macierzy projekcji.
● Rzut perspektywiczny opisuje się za pomocą macierzy perspektywy.
● Można zastosować także rzut ortogonalny za pomocą macierzy ortogonalnej.
Grafika Komputerowa Michał Chwesiuk
Podsumowanie
29/30
Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
● Do przekształceń związanych z modelem stosujemy :○ Macierz modelu, która składa się z :
■ Translacji■ Rotacji■ Skalowania
● Do przekształceń związanych z kamerą stosujemy :○ Macierz widoku, która składa się z :
■ Pozycji kamery■ Kierunku patrzenia kamery■ Wektora góry
○ Macierz projekcji, która składa się z :■ Kąt widzenia■ Aspektu■ Odległość płaszczyzny bliskiego odcinania■ Odległość płaszczyzny dalekiego odcinania
Grafika Komputerowa Michał Chwesiuk
mgr inż. Michał Chwesiuk
30/30
Grafika KomputerowaWykład 4
Dziękuję za uwagę :)Synteza grafiki 3D
Grafika realistyczna
Grafika czasu rzeczywistego
Scena
Modele 3D
Przekształcenia geometryczne
Kamera
Rzut perspektywiczny
Recommended