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

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

Grafika Komputerowa Wykład 1. Wstęp do grafiki komputerowej Obraz rastrowy i wektorowy. mgr inż. Michał Chwesiuk 1/22

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

Grafika Komputerowa Wykład 3. Wyświetlanie. mgr inż. Michał Chwesiuk 1/24

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

Zaawansowana Grafika Komputerowa

Bartosz Bazyluk WPROWADZENIE Wstęp do dwuwymiarowej grafiki komputerowej.

Plan wykładu. Akcelerator 3D Potok graficzny

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

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

GRK 4. dr Wojciech Palubicki

Oświetlenie obiektów 3D

Filtrowanie tekstur. Kinga Laurowska

dr hab. inż. Lidia Jackowska-Strumiłło, prof. PŁ Instytut Informatyki Stosowanej, PŁ

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

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

Przykładowe pytania na teście teoretycznym

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

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

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

dr inż. Piotr Odya dr inż. Piotr Suchomski

Architektura Procesorów Graficznych

Grafika komputerowa i wizualizacja

Technologie Informacyjne

Plan wykładu. 1. Budowa monitora CRT 2. Zasada działania monitora CRT 3. Maski 4. Wady i zalety monitorów CRT 5. Testowanie monitora

Formaty plików graficznych

Julia 4D - raytracing

Karty graficzne możemy podzielić na:

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

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

Gry komputerowe, Informatyka N1, III Rok

Bartosz Bazyluk GRAFIKA KOMPUTEROWA Wprowadzenie. Warunki zaliczenia. Grafika Komputerowa, Informatyka, I Rok

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

GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych

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

Monitory Opracował: Andrzej Nowak

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

FORMATY PLIKÓW GRAFICZNYCH

Monitory. Rys. 1 Monitor kineskopowy z działem elektronowym (CRT) Rys.2. Monitor ciekłokrystaliczny (LCD)

Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji

Architektura Komputerów

Grafika rastrowa (bitmapa)-

GRAFIKA WEKTOROWA. WYKŁAD 1 Wprowadzenie do grafiki wektorowej. Jacek Wiślicki Katedra Informatyki Stosowanej

Efekty dodatkowe w rasteryzacji

Transformacje. dr Radosław Matusik. radmat

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

X. ELEMENTY GRAFIKI ANIMOWANEJ

OpenGL Światło (cieniowanie)

1 LEKCJA. Definicja grafiki. Główne działy grafiki komputerowej. Programy graficzne: Grafika rastrowa. Grafika wektorowa. Grafika trójwymiarowa

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ

WSTĘP DO GRAFIKI KOMPUTEROWEJ

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

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

OpenGL Światło (cieniowanie)

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

Monitory LCD (ang. Liquid Crystal Display) (1)

Grafika komputerowa. Oko posiada pręciki (100 mln) dla detekcji składowych luminancji i 3 rodzaje czopków (9 mln) do detekcji koloru Żółty

2 Przygotował: mgr inż. Maciej Lasota

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

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

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

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

Rozszerzenia plików graficznych do publkacji internetowych- Kasia Ząbek kl. 2dT

Klasyfikacja metod kompresji

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

Zasada działania, porównanie

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 KOMPUTEROWA

GRK 5. dr Wojciech Palubicki

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

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

Gry komputerowe: efekty specjalne cz. 2

Trójwymiarowa wizualizacja danych przestrzennych

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

Techniki animacji komputerowej

Sphere tracing: integracja z klasycznymi metodami symulacji i renderingu

GRAFIKA RASTROWA. WYKŁAD 2 Oprogramowanie i formaty plików. Jacek Wiślicki Katedra Informatyki Stosowanej

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

Zjawisko widzenia obrazów

Klasyfikacja metod kompresji

Implementacja sieci neuronowych na karcie graficznej. Waldemar Pawlaszek

Bartosz Bazyluk WYŚWIETLANIE OBRAZU Techniki wyświetlania obrazu komputerowego. Grafika Komputerowa, Informatyka, I Rok

Podwójne buforowanie i animacje

GRK 5. dr Wojciech Palubicki

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

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

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

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

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

Plan wykładu. 1. Budowa monitora LCD 2. Zasada działania monitora LCD 3. Podział matryc ciekłokrystalicznych 4. Wady i zalety monitorów LCD

Kompresja Stratna i Bezstratna Przegląd Najważniejszych Formatów Graficznych

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

Podstawy Informatyki Wykład V

Grafika komputerowa. Dla DSI II

Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza 30

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

Grafika Komputerowa Wybrane definicje. Katedra Informatyki i Metod Komputerowych Uniwersytet Pedagogiczny im. KEN w Krakowie apw@up.krakow.

Podstawy grafiki komputerowej. Teoria obrazu.

Trójwymiarowa grafika komputerowa rzutowanie

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

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

Obraz Grafika Rastrowa Grafika Wektorowa Obraz przechowywany w pamięci w postaci próbki opisane za pomocą macierzy pikseli Każdy piksel zawiera informację o pojedynczej próbce. Obraz przechowywany w pamięci w postaci zbioru prymitywów (prostych, krzywych, okręgów, wielokątów i tekstu). Każdy prymityw właściwości (np. promień), które modyfikować. zawiera rozmiar, można 2/32

Obraz rastrowy Obraz to macierz pikseli, inaczej nazywaną mapą bitową (ang. bitmapa). Bitmapy najczęściej prostokątnej. Piksel jest najmniejszym fizycznym elementem obrazu, który możemy modyfikować, bądź indeksować. występują w postaci dwuwymiarowej i 3/32

Formaty zapisu i kompresji bezstratnych obrazów rastrowych BMP PNG (Portable Network Graphics) Obsługuje przezroczystość. Aplikowanie proste filtry graficzne. GIF (Graphics Interchange Format) Duza dowolność rozmieszczenia bitów. Można wykorzystać kompresje RLE. Dzieli obraz na bloki, w którym może występować do 256 kolorów. Pozwalają na tworzenie prostych animacji ze zdefiniowanym kolorem tła. TIFF (Tagged Image File Format) Duża dowolność formatów. Może być także kompresowany stratnie. 4/32

Obraz wektorowy Obraz to zbiór prymitywów o danych własnościach. Wyświetlenie obrazu wektorowego wymaga rasteryzacji, przetworzenia danych o prymitywach do obrazu rastrowego. Czas rasteryzacji jest zależny od liczby obiektów tworzących obraz. 5/32

Obraz wektorowy - rasteryzacja Przed wyświetleniem obrazu wektorowego należy poddać go procesowi rasteryzacji. Musi zostać utworzona bitmapa. Każdy z obiektów obrazu rastrowego musi zostać przetworzony uwzględniając skalę, rozmiar bitmapy (oraz innych parametrów np. obrót) w celu znalezienia pikseli należących od obiektu. Występuje problem aliasingu (ostrych krawędzi), które należy w jak najlepszym stopniu zminimalizować używając technik anti-aliasingu. 6/32

Downsampling obrazu rastrowego Podczas potrzeby wyświetlania bitmapy w rozmiarze mniejszym niż oryginalny musi zostać przeprowadzony proces Downsamplingu. Metoda najbliższego sąsiada Mało kosztowna obliczeniowo Utrata szczegółów obrazu (wysokich częstotliwości) Metoda filtracji dwuliniowej (bilinear filtering) Bardziej kosztowna obliczeniowo Redukcja utraty szczegółów obrazu 7/32

Wyświetlacz CRT Wyświetlacz kineskopowy, CRT (ang. cathode-ray tube). Do wyświetlania obrazu używa się wiązki elektronów wystrzeliwane z dział elektronowych (katod), osobnych dla każdego kanału (RGB). Luminofor jest to świecący pigment - fosfor, materiał mający własności świecenia pod wpływem padającego nań promieniowania. Cewki elektryczne zmieniając pole magnetyczne odchylają wiązkę elektronów, by trafiała w różne części ekranu. https://circuitglobe.com/cathode-ray-tube-crt.html 8/32

Wyświetlacz LCD Wyświetlacz ciekłokrystaliczny, LCD (od ang. liquid-crystal display). Technika wyświetlacza oparta jest na zmianie polaryzacji światła na skutek zmian orientacji cząsteczek ciekłego kryształu pod wpływem przyłożonego pola elektrycznego.. 9/32

Podwójne buforowanie Rysowanie obrazu nie jest natychmiastowe. W trakcie procesu generowania obrazu mogą pojawiać się na niej kolejne elementy. Aby zapobiec wyświetlaniu niedokończonego obrazu stosuje się podwójne buforowanie (double buffering). Bufor przedni (ang. front buffer) - zawiera obraz wyświetlany Bufor tylny (ang. back buffer) - zawiera obraz generowany W momencie zakończenia tworzenia obrazu, następuje zamiana buforów miejscami (ang. swap buffer). 10/32

GPU - Graphics processing unit Procesor graficzny odpowiada za stworzenie zawartości obrazu, przechowywanie go, oraz wysłanie jej do wyświetlacza w celu wyświetlenia. Jest to możliwe dzięki architekturze użytej w GPU. Pozwala ona wykonywać o wiele więcej równoległych obliczeń niż procesor. Obraz jest przechowywany w buforze ramki (framebuffer) w pamięci karty graficznej. 11/32

Synchronizacja pionową Szybkość działania procesora graficznego nie jest synchronizowany z częstotliwością wyświetlania wyświetlacza. Aby upewnić się, że obraz kolejnej klatki zostanie dostarczony do wyświetlacza, gdy ten będzie gotowy do jej wyświetlenia, stosuje się synchronizację pionową (ang. vertical synchronisation / VSync). W przeciwnym przypadku, gdy generujemy więcej klatek niż częstotliwość wyświetlacza, zdarzyć się może że obraz będzie się składał z kilku klatek (tzw. tearing). 12/32

Upsampling obrazu rastrowego Podczas potrzeby wyświetlania bitmapy w rozmiarze większy niż oryginalny musi zostać przeprowadzony proces Upsamplingu. Metoda najbliższego sąsiada Mało kosztowna obliczeniowo Widocznie powiększenie pojedynczych pikseli (ostre krawędzie) Metoda filtracji dwuliniowej (bilinear filtering) Bardziej kosztowna obliczeniowo. Efekt rozmycia. 13/32

Rendering Grafika rzeczywista Grafika czasu rzeczywistego Celem jest wyrenderowanie trójwymiarowej sceny w najlepszej jakości. Celem jest wyrenderowanie danego obrazu w jak najkrótszym czasie (np. 16ms 60 klatek na sekundę). Nieograniczony renderowanie! na 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. W celu przyspieszenia obliczeń stosuje się uproszczenia w implementacji zjawisk zachodzących w prawdziwym świecie. Wykorzystywana w filmach, reklamach, komputerowo generowanych obrazach, w sztuce 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. czas 14/32

Przekształcenia geometryczne 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 15/32

Ray tracing Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego w celu poszukiwania przecięć z obiektami sceny. Algorytm bardzo kosztowny z uwagi na drogą obliczeniowo operację śledzenia promieni światła i ich odbić. 16/32

Potok renderowania geometrii Potok renderowania geometrii (ang, rendering pipeline) stosujemy w grafice czasu rzeczywistego. Podejście w pewnym stopniu odwrotne do ray tracingu, zaczynając od geometrii rzutujemy ją na obraz. 17/32

Test głębokości Algorytm malarza (ang. painter s algorithm) Nie jest głębokości. Obiekty przykrywają się zgodnie z kolejnością rysowania To co zostanie narysowane później, przykryje to co zostało narysowane wcześniej. dokonywany test 18/32

Test głębokości We fragmentach, oprócz wartości RGB zawierający jego kolor, tworzony jest bufor głębokości (bufor Z). W buforze Z przechowywana jest informacja o odległości od kamery. Gdy w procesie renderingu obiektu sceny okaże się, że w danym pikselu jest już zawarty kolor, wykonywany jest test głębokości: Jeśli odległość od kamery nowego fragmentu jest mniejsza niż wartość w buforze głębokości to nadpisujemy ten piksel nową wartością koloru i odległości od kamery. Nowy obiekt jest bliżej kamery niż zawarty w buforze koloru. Jeśli odległość od kamery nowego fragmentu jest większa niż wartość w buforze głębokości to ignorujemy tą wartość. Nowy obiekt jest dalej kamery i będzie przysłonięty. 19/32

Oświetlenie Techniki oświetlenia można podzielić na dwa rodzaje : Oświetlenie lokalne (ang. direct illumination) Oświetlenie globalne (ang. indirect illumination) Oświetlenie lokalne Oświetlenie globalne 20/32

Oświetlenie lokalne W oświetleniu lokalnym na kolor poszczególnych punktów wpływa wyłącznie bezpośrednie (ang. direct) oświetlenie ze źródeł światła. Najczęściej stosowana jest w grafice czasu rzeczywistego. Oświetlenie lokalne Scena 21/32

Oświetlenie globalne W oświetleniu globalnym na kolor poszczególnych punktów wpływa bezpośrednie oświetlenie ze źródeł światła oraz światło odbite przez inne obiekty (pośrednie - ang. indirect). Najczęściej stosowana jest w grafice realistycznej. 2 odbicia 3 odbicia 22/32

Cieniowanie Cieniowanie występuje najczęściej w trzech rodzajach : Cieniowanie płaskie Liczony jest kolor dla wierzchołków prymitywu. Kolor fragmentu jest średnią kolorów wierzchołków. Cieniowanie Gourauda Liczony jest kolor dla wierzchołków prymitywu. Kolor fragmentu jest interpolowany z kolorów wierzchołków. Cieniowanie Phonga Kolor liczony jest dla każdego fragmentu. Płaskie Gourauda Phonga 23/32

Model oświetlenia Blinna Phonga Najczęściej używanym modelem oświetlenia rzeczywistego jest model Blinna Phonga. w grafice czasu Nie mylić z cieniowaniem Phonga - to dwie różne rzeczy! W modelu Phonga rozbijamy światło na trzy komponenty : Ambient - symulacja światła globalnego Diffuse - oświetlenie bezpośrednie Specular - odbicie światła 24/32

Model oświetlenia Blinna Phonga Składowa ambient służy za BARDZO duże uproszczenie symulacji światła niebezpośredniego. Jest on określany niezależnie od położenia i orientacji światła i obiektu. Składową ambient liczy się za pomocą zwykłego iloczynu wartości RGB światła i wartości RGB materiału. 25/32

Model oświetlenia Blinna Phonga Składowa diffuse dodatkowo uwzględnia kąt padania światła na powierzchnię obiektu. Ten kąt oblicza się za pomocą iloczynu skalarnego wektora normalnego powierzchni oraz kierunku padania światła. 26/32

Model oświetlenia Blinna Phonga Składowa specular symulująca odbicie światła zależy od iloczynu skalarnego wektora normalnego i wektora połówkowego wektora obserwacji i padania światła. Dodatkowo dołączony jest parametr shininess wskazujący właściwość powierzchni do odbijania światła. 27/32

Teksturowanie Teksturowanie jest to technika w grafice komputerowej, której celem jest zwiększenie szczegółowości renderowanych powierzchni za pomocą tekstur. Tekstura jest to pewna funkcja (najczęściej w formie bitmapy) zawierająca informację o tym jak przekształcić dany fragment powierzchni. W procesie teksturowanie zachodzi proces mapowania tekstury. 28/32

Tekstura Parametrami tekstury są : Wymiarowość 1D, 2D (obraz rastrowy), 3D... Rozmiar Rozdzielczość obrazu Pojedynczym elementem tekstury nazywamy tekselem. Najczęściej wielkość wymiaru jest potęgą 2. Format Ilość kanałów (RGB, RGBA, Skala szarości) Typ danych (int, float itp.) 29/32

Filtrowanie tekstury Filtrowanie tekstury jest metodą, która służy do uzyskania wartości fragmentu w wyniku mapowania tekstury na podstawie wartości odpowiadających temu fragmentowi tekseli. Metody : Najbliższego sąsiada (najbliższy teksel) Interpolacja liniowa (średnia ważona czterech tekseli) 30/32

Mipmapping Mipmapy są to wcześniej wyliczone sekwencje pomniejszonych wersji oryginalnej tekstury. Każdy kolejny poziom tekstury to ma wymiary dwukrotnie mniejsze dla każdego wymiaru. W trakcie procesu teksturowania procesor graficzny wybiera który poziom wykorzystać. Stosuje się w celu przyspieszenia obliczeń kosztem większego zużycia pamięci gdzie przechowywana jest tekstura (⅓ więcej). 31/32

Grafika Komputerowa Wykład 8 Teksturowanie Dziękuję za uwagę :) Tekstura Tekstura proceduralna Mapowanie tekstury Filtrowanie tekstury Mipmapping Zastosowania tekstur mgr inż. 32/32