(ang. computer graphics) Potok graficzny (ang. graphics pipeline) Wprowadzenie do grafiki komputerowej Rados#aw Mantiuk Dane wej"ciowe scena Algorytmy grafiki komputerowej (Rendering) Dane wyj"ciowe obraz 2D Wydzia# Informatyki Zachodniopomorski Uniwersytet Technologiczny Urz$dzenia rejestruj$ce Przetwarzanie obrazów (ang. Image processing) Analiza obrazów (ang. Image analysis) Urz$dzenia wy"wietlaj$ce Rodzaje algorytmów grafiki komputerowej: grafika czasu rzeczywistego (grafika interaktywna), grafika realistyczna, grafika nierealistyczna (ang. non-realistic computer graphics), grafika 2D i 3D, grafika rastrowa i wektorowa, wizualizacja danych. - Geneza Rozwój urz$dze% wy"wietlaj$cych. - Zastosowania (2) Produkcja filmowa i telewizyjna. Lata 60-te - wy"wietlacze znakowe. Programy CAD i CAM (General Motors - projektowanie samochodów, Itek Digitek - projektowanie soczewek). Wektorowe urz$dzenia wy"wietlaj$ce. Lata 80-te - monitory rastrowe (Apple, IBM PC). 1984 Silicon Graphics - grafika 3D. Karty graficzne 3D (ATI, nvidia). filmy rysunkowe efekty specjalne du!e bud!ety podej"cie artystyczne ró!ne technologie postprodukcja
- Zastosowania (3) - Zastosowania (4) Gry komputerowe. Medycyna. grafika interaktywna olbrzymi rynek wizualizacja danych trójwymiarowych wysoka precyzja wizualizacji bardzo du!e zbiory danych algorytmy Volume Rendering u - Zastosowania (5) - Zastosowania (6) Systemy CAD/CAM. Wizualizacja naukowa. z#o!one modele danych precyzyjna wizualizacja z#o!one i prezycyjne modele zaawansowane oprogramowanie do modelowania wizualizacja realistyczna
- Zastosowania (7) Interfejsy graficzne (GUI - Graphics User Interface). - Zastosowania (8) Systemy GIS grafika 2D interfejsy 3D interfejsy oparte na GPU - Zastosowania Programowanie grafiki komputerowej Gry komputerowe. Graficzne interfejsy u!ytkownika (ang. Graphics User Interface). Wizualizacja danych medycznych (ang. volume rendering). Wizualizacja danych w biznesie i technice. Systemy GIS (ang. Geographics Information Systems). Systemy CAD. Produkcja filmowa i telewizyjna. Systemy internetowe. Systemy multimedialne. Wirtualna rzeczywisto"&. Sztuka (np. fotografia). Nauka (np. rysowanie wykresów funkcji, wizualizacja zjawisk fizycznych). Urz$dzenia przeno"ne (PDA, telefony komórkowe). Algorytmy grafiki realistycznej struktury danych algorytmy probabilistyczne optymalizacje Grafika czasu rzeczywistego gry komputerowe programowanie telefonów i urz$dze% PDA symulacje czasu rzeczywistego programowanie GPU (ang. Graphics Processor Unit) GPGPU (ang. General Purpose GPU) Przetwarzanie i analiza obrazów fotografia cyfrowa technologie HDRI (ang. High Dynamic Range Imaging) Graficzne interfejsy u!ytkownika (ang. GUI: Graphics User Interface) wspomaganie rysowania GUI
System graficzny (1) Obraz rastrowy CPU nie jest w stanie generowa# obrazu z wymagan$ pr%dko"ci$ ze wzgl%du na specyficzny charakter algorytmów generowania obrazu i zbyt du!$ liczb% danych. Obraz rastrowy - dwuwymiarowa macierz pikseli (bitmapa) pami'& RAM CPU Piksel (ang. pixel) - punkt obrazu (próbka, nie ma wymiaru, nie zajmuje obszaru) po#o!enie w rastrze kolor Kolor piksela wektor RGBA (Red, Green, Blue, Alpha), ka!da sk#adowa kodowana niezale!nie true color - 8 bitów na sk#adow$ koloru (32 bity na piksel) GPU bufor ramki (ang. frame buffer) Rozdzielczo"# obrazu (ang. spatial resolution) - liczba pikseli w poziomie i pionie Aspekt obrazu (ang. aspect ratio) - stosunek wymiarów poziomych do pionowych monitor Karta graficzna - podsystem komputera przeznaczony do generowania obrazu, posiadaj$cy w#asny procesor i pami'&. Procesor GPU (ang. Graphics Procesor Unit) rysuje obraz poprzez wype#nianie odpowiednich komórek pami'ci VRAM. Obraz przechowywany jest we frame buffer ze znajduj$cym si' w VRAM ie. Wielko"& frame buffer a zale!y od rozdzielczo"ci obrazu i sposobu kwantyzacji koloru. Karta graficzna (1) Karta graficzna (2) pami'& VRAM (frame buffer) zegary RAMDAC Cechy karty graficznej: procesor GPU (ang. Graphics Procesor Unit) - architektura SIMD, brak skoków i p'tli, bardzo du!a wydajno"& arytmetyczna, wielopotokowo"&, pami'& VRAM (ang. Video RAM) - bardzo szybki dost'p sekwencyjny do pami'ci, magistrala - bardzo du!y transfer danych, RAMDAC - generowanie analogowych sygna#ów wideo (przetwornik DA), zegary - taktowanie procesora i monitora, uk#ad steruj$cy - komunikacja procesora z pami'ci$, komunikacja z CPU. RAMDAC czyta odpowiedni obraz z pami%ci VRAM, przetwarza go na sygna& analogowy i przesy&a do monitora. procesor GPU Projekt i wykonanie Bogdan Olech uk#ad steruj$cy slot koprocesora
Kwantyzacja koloru Liczba bitów na sk#adow$ okre"la dok#adno"& kwantyzacji pewnego zakresu luminancji. Dla standardowych monitorów LDR (ang. Low Dynamic Range) wystarczy 8 bitów na sk#adow$, nie wida& wtedy przej"& pomi'dzy odcieniami danej sk#adowej. Kodowanie koloru (1) Podanie warto"ci trzech sk#adowych koloru RGB ( true color ). 5 bitów na sk#adow$ 7 bitów na sk#adow$ Kodowanie koloru (1) Podanie indeksu do tabeli zawieraj$cej trzy warto"ci sk#adowych RGB (nie stosowane). LUT - Look-Up Table Monitor Rastrowe urz$dzenie wy"wietlaj$ce obraz 2D. Rozdzielczo"# wielko"& piksela obrazu (ang. pitch) ~0.1-0.3 [mm] liczba pikseli na cal, np. 80 DPI (ang. Dots per Inch), zmienna dla CRT Wymiary ekranu (przek$tna) Odwzorowanie koloru (sk#adowe RGB) Cz%stotliwo"# od"wie!ania (pionowa i pozioma) Wspó&czynnik gamma (nieliniowe mapowanie napi'cia na luminancj') Minimalna i maksymalna luminancja (kontrast) - dynamika monitora (maksymalna luminancja podzielona przez minimaln$ luminancj')
Monitory LCD (ang. Liquid Crystal Display) (3) Monitory medyczne 10-, 12-bitów na sk#adow$ koloru, skalowanie DICOM Monitory LCD (ang. Liquid Crystal Display) (1) Monitor ciek&okrystaliczny Ciek#y krysz#a powoduje zmian' polaryzacji "wiat#a w zale!no"ci od przy#o!onego do niego napi'cia. Monitory LCD (ang. Liquid Crystal Display) (3) Sterowanie polaryzacj$ ciek#ego kryszta#u odbywa si' za pomoc$ tranzystorów zamocowanych w matrycy (technologia TFT - Thin Film Transistor). Punkt ekranu LCD zachowuje swój stan w zale!no"ci od ustawienia tranzystora (nie nast%puje ga"niecie punktu z up#ywem czasu). Pr'dko"& od"wie!ania to pr%dko"# zmiany stanu polaryzacji ciek&ego kszryszta&u. Odcienie szaro"ci uzyskuje si' poprzez czasowe w#$czanie/wy#aczanie polaryzacji ciek#ego kryszta#u. Barwy uzyskuje si' poprzez stosowanie filtrów i zwi'kszenie rozdzielczo"ci matrycy (trzy komórki na jeden kolorowy punkt obrazu). Stosuje si' sztuczne pod"wietlenie matrycy w celu zwi'kszenia kontrastu. K$t patrzenia na monitor jest ograniczony przez mo!liwo"ci polaryzacji "wiat#a. Korekcja gamma (1) Zale!no"# pomi%dzy warto"ciami pikseli (RGB) a luminancj$ punktów na monitorze NIE jest liniowa (je!eli zwi'kszymy warto"& koloru z 100 do 200 nie uzyskamy dwukrotnego wzrostu luminancji). Nieliniowa charakterystyka monitora wynika z faktu nieliniowej zale!no"ci pomi'dzy warto"ci$ napi'cia na katodzie i luminancj$ punktu na monitorze: L = V ", " #<1.4,2.8 > Korekcja gamma - zmiana warto"ci pikseli prowadz$ca do liniowej zale!no"ci pomi'dzy warto"ciami pikseli i luminancj$.
Korekcja gamma (2) Kodowanie koloru - dithering (2) Dithering - aproksymacja koloru za pomoc$ wzoru sk#adaj$cego si' z plamek innych kolorów Literatura J.D. Foley, A. van Dam, S.K. Feiner, J.F. Hughes, R.L. Phillips, Wprowadzenie do grafiki komputerowej, WNT, Warszawa 1995, ISBN 83-204-1840-213. Jan Zabrodzki (pz), metody i narz'dzia, WNT, Warszawa 1994, ISBN 83-204-1716-3. Andrew S. Glassner, "Principles of Digital Image Synthesis", Vol. I and II, Morgan Kaufmann, 1995.