Podsumowanie omówionych zagadnień

Slides:



Advertisements
Podobne prezentacje
Grafika Wektorowa Bitmapowa.
Advertisements

Modele oświetlenia Punktowe źródła światła Inne
Przestrzenie 3D (algorytmy renderingu)
Geometria obrazu Wykład 5
Krzysztof Skabek, Przemysław Kowalski
Podstawy grafiki komputerowej
Grafika 3D.
Przestrzenie barw.
Przekształcenia afiniczne
Grafika komputerowa Wykład 2 Wykorzystanie podstawowych usług bibliotecznych (API) w operacjach graficznych.
Grafika komputerowa Wykład 8 Wstęp do wizualizacji 3D
Grafika komputerowa Wykład 1 Wprowadzenie
Podstawy programowania grafiki 3D z użyciem biblioteki OpenGL
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Rozpoznawanie obrazów
Budowa i własności oka Adler 1968, Judd, Wyszecki 1975, Durret 1987
Animacja Animacja jest procesem automatycznego generowania serii obrazów, gdy kolejny obraz przedstawia pewną zmianę w stosunku do poprzedniego. Ta definicja.
Rzutowanie 3D  2D Rzutowanie planarne Rzut równoległe
Eliminacja powierzchni niewidocznych Wyznaczanie powierzchni widocznych Które powierzchnie, krawędzie i punkty są widoczne ze środka rzutowania (albo wzdłuż.
Camera fighter Michał Grędziak
Geometria obrazu Wykład 11
Geometria obrazu Wykład 10
Geometria obrazu Wykład 11
Przygotowanie materiału ilustracyjnego
Grafika wektorowa i bitmapa
Podstawy grafiki komputerowej
Współrzędne jednorodne
Współrzędne jednorodne
Podstawowe pojęcia i problemy związane z przetwarzaniem plików graficznych.
Symulacje komputerowe
Modelowanie elementów świata 3D przy użyciu biblioteki Managed Directx
Programowanie gier komputerowych Tomasz Martyn
MECHANIKA 2 Wykład Nr 11 Praca, moc, energia.
Grafika komputerowa Wykład 6 Podstawowe algorytmy grafiki 2D
Zaawansowane techniki renderingu
ZASTOSOWANIE RENDERINGU W GRAFICE KOMPUTEROWEJ
Dane INFORMACYJNE (do uzupełnienia)
Dane INFORMACYJNE Nazwa szkoły: Zespół Szkół Gastronomicznych
Grafika komputerowa Jest to dziedzina rozwijająca się niezwykle dynamicznie, a jednocześnie wymagająca znacznej mocy obliczeniowej. Łatwo możemy to zaobserwować,
Wojciech Toman. Dotychczasowe podejście do oświetlenia Idea deferred shadingu Typowe problemy wraz z propozycjami rozwiązania Optymalizacja wydajności.
3dMatchGL Wykorzystanie biblioteki graficznej OpenGL przy tworzeniu gry 3DMatchGL.
RUCH PŁASKI BRYŁY MATERIALNEJ
Algorytm Z-Bufora (bufora głębokości)
Grafika i komunikacja człowieka z komputerem
Grafika i komunikacja człowieka z komputerem
Grafika i komunikacja człowieka z komputerem
Teksturowanie oraz algorytmy cieniowania
Geometria obrazu Wykład 10
Geometria obrazu Wykład 6
Grafika komputerowa Dr inż. Piotr Gronek
Grafika komputerowa Dr inż. Piotr Gronek
Modele barw.
Grafika komputerowa.
Grafika komputerowa – Grafika wektorowa i rastrowa
Urządzenia wyjściowe.
Draver/GRK/cw3_result.jpg. Grafika 3D Wprowadzenie.
Grafika 2d - Podstawy. Kontakt Daniel Sadowski FTP: draver/GRK - wyklady.
PODSTAWY STEREOMETRII
Zwierciadło płaskie. Prawo odbicia i załamania światła. Całkowite wewnętrzne odbicie. Autorzy: dr inż. Florian Brom, dr Beata Zimnicka Projekt współfinansowany.
Informatyka Zakres rozszerzony. GEOMETRIA - (gr. γεωμετρία; geo – ziemia, metria – miara) dział matematyki badający figury i zależności między nimi.gr.
Grafika komputerowa Dr inż. Michał Kruk. Reakcja ś wiat ł a z materi ą : – Odbicie ś wiat ł a – Przenikanie ś wiat ł a Zale ż ne od w ł a ś ciwo ś ci.
1.problem próbkowania (sampling problem) dobór charakterystycznych punktów powierzchni w celu uzyskania najlepszego efektu przy minimalizacji ilości danych.
MODELE BARW 7 V 2017.
MODELE BARW 7 V 2017.
Rzutowania Rzutowanie jest przekształceniem przestrzeni trójwymiarowej na przestrzeń dwuwymiarową. Rzutowanie polega na poprowadzeniu prostej przez dany.
Geometria obrazu Wykład 10
 jeden z dwóch podstawowych rodzajów grafiki komputerowej, w której obraz opisany jest za pomocą figur geometrycznych lub brył geometrycznych, umiejscowionych.
Wiktoria Dobrowolska. Grafika komputerowa - dział informatyki zajmujący się wykorzystaniem komputerów do generowania obrazów oraz wizualizacją rzeczywistych.
Grafika wektorowa Grafika wektorowa (obiektowa) – jeden z dwóch podstawowych rodzajów grafiki komputerowej, w której obraz opisany jest za pomocą figur.
Symulacje komputerowe
Zapis prezentacji:

Podsumowanie omówionych zagadnień Wykład z grafiki komputerowej II (3D) Jacek Matulewski (e-mail: jacek@fizyka.umk.pl) http://www.fizyka.umk.pl/~jacek/dydaktyka/3d/ Grafika 3D Podsumowanie omówionych zagadnień Wersja: 15 listopada 2007

Zagadnienia grafiki 3D Podstawowe zagadnienia grafiki 3D: Modelowanie – budowanie modeli obiektów (ze świata realnego) za pomocą przestrzennych figur geometrycznych (trójkątów, wielokątów). Ilość trójkątów – jakość modelowania (realizm) – wymagany sprzęt Animacja – ruch obiektów – zmiana położenia w poszczególnych kadrach (renderowanych statycznych scenach) Renderowanie – techniczne aspekty przygotowania sceny (alg. rys. linii, bufor głębii, antyaliasing itp.)

Przykład modelowania (niestety to nie OpenGL lub DirectX, a ray tracing)

Modelowanie: wierzchołki Podstawowe pojęcia grafiki 3D: Vertex – wierzchołek figury 2D lub 3D (glVertex3f), element siatki rozpiętej w 3D, która jest bazą renderowanej sceny Z wierzchołkiem mogą być związane m.in.: - kolor (glColor3ub), - normalna (glNormal3f), - współrzędna tekstury (glTexCoord2f) Funkcje OpenGL: glVertex{234}{sfid}[v](GLType współrzędne)

Modelowanie: primitiwy Podstawowe pojęcia grafiki 3D: Primitiwy – figury zbudowane z vertexów, dwustronny obiekt modelowany jest z tysięcy trójkątów glBegin(typ prymitiwu); glVertex3f(współrzędne); glVertex3f(współrzędne); … glEnd(); GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUAD_STRIP GL_POLYGON GL_QUADS GL_TRIANGLES zbiór wierzchołków GL_LINE_LOOP GL_POINTS GL_LINES GL_LINE_STRIP wypukły bez przecięć Używanie trójkątów (i pasów): najbardziej wydajne numerycznie, zmniejsza artefakty

Modelowanie: potok Podstawowe pojęcia grafiki 3D: Potok (ang. pipeline) – ciąg przekształceń macierzy (sprzętowo zrównoleglone) dane wejściowe: wierzchołki (vertices) w 3D transformacje: translacje, obroty (m. model-widok), obcięcia: frustum (ograniczenie ilości wierzchołków) rzutowanie: macierz rzutowania + mieszanie kolorów wynik: piksele obrazu 2D (współrzędne ekranu)

Transformacje Podstawowe pojęcia grafiki 3D: Transformacje – określane we współrzędnych sceny 3D translacja (glTranslatef), obrót (glRotatef) skalowanie (glScalef), pochylenie złożenie – dowolna macierz 4x4 (glMultMatrixf) Transformacje muszą być ustalone przed narysowaniem wierzchołka, np..: glRotatef(45.0f, 0.0f, 1.0f, 0.0f); //kąt, kierunek osi glVertex3f(…); Transformacje są wykonywane „od końca”

Transformacje Współrzędne jednorodne (homogenous coordinates) Wprowadzone w 1946 przez E. Maxwella (rzutowanie) W 1965 L. Roberts użył ich do zunifikowania zapisu wszystkich transformacji: translacji, obrotów, skalowanie i pochylania Opis punktów n-wymiarowej przestrzeni za pomocą n+1 współrzędnych Obcinanie we współrzędnych jednorodnych może odbywać się w sześcianie zamiast w ściętym ostrosłupie (znacznie efektywniejsze numerycznie)

Transformacje We współrzędnych kartezjańskich (2D) obrót i translacja mogą być zapisane: We współrzędnych jednorodnych: O korzystaniu ze współrzędnych jednorodnych (glMultMatrixf) w osobnej prezentacji!

Kolor Składowe RGB + A (atrybut figury), alternatywa HSB R = 650 nm, G = 530 nm, B = 450 nm Możliwość cieniowania wewnątrz figury (atrybut wierzchołków)

Kolor Inne układy wsp. kolorów: CMY(K), HSB, YPbPr, CIE xyY, CIE LUV, CIE Lab Biblioteka colormaps.cpp/.h [obejrzeć kod!] RGB – dobre dla monitorów, TV (emisja światła), odpowiada fizjologii oka CMY(K) = 1 – RGB – drukarki (absorpcja światła)

Kolor HSB (HSV, HSL) – hue, saturation, brightness (value, lightness, luminance) Bardziej intuicyjne, używane w interakcji z człowiekiem

Fizyka i biologia koloru Składowe RGB + A (atrybut figury), alternatywa HSB R = 650 nm, G = 530 nm, B = 450 nm

Światło (cieniowanie) Fizyczny model oświetlenia – na efekt końcowy (tj. kolor piksela) wpływają „własności emisyjne” źródła światła, „własności absorpcyjne” materiału, który jest oświetlany i własności ewentualnych ciał półprzezroczystych + = Typy źródeł oświetlenia: Światło otoczenia (ambient) – światło słoneczne w białym pomieszczeniu Rozproszone (diffuse) – mleczna żarówka, świeca Rozbłysk (specular) – reflektor, odbicie od lustra Dla każdego typu parametry materiału ustalane są osobno Typy źródeł oświetlenia: Światło otoczenia (ambient) Rozproszone (diffuse) – posiada źródło, ale jest jednorodne we wszystkich kierunkach Generalnie: Jasność proporcjonalna do kosinusa kąta padania (normalna) Typy źródeł oświetlenia: Światło otoczenia (ambient) – bez źródła i kierunku – rozświetla jednorodnie całą scenę, także wewnątrz figur) – nie daje cieni na obiekcie (nie ma złudzenia 3D) Typy źródeł oświetlenia: Światło otoczenia (ambient) Rozproszone (diffuse) Rozbłysk (specular) – źródło i kierunek reflektor, efekt „zajączka” – rozbłysku na gładkich pow.

Model oświetlenia Phonga + = Opracowany w 1975 przez Phong Bui-Tuonga Jest jedynie zgrubnym przybliżeniem praw optyki Zakłada trzy niezależne komponenty odbitego światła Światło rozproszone – model Lamberta (1760) Model cieniowania Phonga (coś innego niż model ośw.) = interpolacja normalnych (uśrednianie normalnych)

Model Lamberta Model światła rozproszonego Jasność przedmiotu (natężenie światła) równa jest Ii. Jest ono jakąś funkcją natężenia światła padającego na powierzchnię i kąta odbicia b (= padania) Model zakłada, że natężenie światła odbitego Id jest proporcjonalne do „efektywnej powierzchni” widzianej przez obserwatora Acos(b ). N – wektor normalny, L – promień św. odbitego N L Id = Ii cos(b ) Obliczanie cos(b ) jest szybkie: cos(b ) = NxLx+NyLy+NzLz

Model Phonga Model światła specular („zajączek”) Wprowadzony przez Phonga – nie ma podstaw fizycznych N – wektor normalny L – promień św. odbitego V – kierunek do obserwatora N L V Is = Ii cos n (a ) Parametr n kontroluje „ostrość” zależności od kąta pod którym oglądamy fragment powierzchni n ~ GL_SPOT_CUTOFF n = 1, 5, 10, 20, 50, 100

Model oświetlenia Phonga Trójkomponentowy model oświetlenia ambient diffuse specular + = ka kd ks Ia Id Is ka kd ks Ii cos(b ) Ii cos n (a ) Ia + + = I W rzeczywistości (tj. w OpenGL) takie obliczenia prowadzone są osobno dla każdej składowej koloru (RGB)

Modele cieniowania Cieniowanie płaskie – jasność określana jest wzorem Phonga dla całej płaskiej powierzchni trójkąta w modelu. W przypadku powierzchni płaskich efekt jest „kanciasty” Dodatkowo niekorzystny efekt pasm Macha Jak kolorować powierzchnie zaokrąglone?

Modele cieniowania Cieniowanie Phonga – obliczenia koloru dla każdego punktu trójkąta z wektorem normalnym wyznaczonym na podstawie interpolacji na bazie trzech wektorów normalnych przypisanych do każdego wierzchołka trójkąta płaskie Phong

Modele cieniowania Cieniowanie Gourauda – kolor punktu na prymitywie uzyskiwany jest przez interpolację składowych koloru jego wierzchołków (tylko te wyznaczane są np. wzorem Phonga) Mniej wymagający numerycznie, ale też mniej realistyczny Model to żona Henri Gourauda, Sylvie. Wada: wyraźnie widać granicę użytych figur (wymaga gęstszej sieci niż met. Phonga)

Modele cieniowania Cieniowanie globalne Jim Kajiya, 1986 (Microsoft) Przy obliczaniu składowych światła odbitego uwzględnia nie tylko światło pochodzące ze źródeł, ale również odbite od innych pow. Obliczenia rekurencyjne Używane w metodzie śledzenia promieni (ray tracing) Powoli wchodzi do silników graficznych działających w czasie rzeczywistym Automatycznie generuje także cienie obiektów rzucane na inne powierzchnie I(x, x') – sumaryczna intensywność (składowe koloru) w punkcie x z punktu x' g(x, x') = 0 jeśli x i x‘ są przesłonięte, = 1/d 2 w przeciwnym wypadku, d = odl. między punktami x i x' e(x, x') – intensywność emitowana przez x' do x r(x, x ',x'') – intensywność światła odbitego z x'' do x przez x' S – wszystkie punkty na wszystkich powierzchniach odbijających światło

Przykładu użycia ray tracing Źródło: http://hof.povray.org/

Co dalej? Studium przypadku: wizualizacja funkcji z = f (x,y) Fizyka zbioru punktów materialnych (układ słoneczny, lina, symulacja lotu) Wczytywanie obiektów z pliku Stencil Buffer: lustro, cienie rzucane przez obiekty PixelShader, VertexShader