Problemowe:
Dithering - przybliżenie koloru za pomocą wzoru składającego się z plamek innych kolorów. →
Próbkowanie - proces zamiany ciągłej funkcji (sygnału) na skończoną liczbę wartości opisujących ten sygnał
Rekonstrukcja - odtwarzanie dyskretnych próbek na ciągły sygnał.
Oświetlenie globalne - uwzględnia zarówno światło, które trafia na obiekt bezpośrednio ze źródła, jak i światło odbite od innych elementów sceny.
Lokalne - uwzględnia tylko światło bezpośrednio padające na obiekt.
Ray tracing - śledzenie promieni - dla każdego piksela śledzimy promień wychodzący od kamery i sprawdzamy, na co trafi. Jeżeli symulujemy odbicie, śledzimy tez bieg promieni odbitych. Za każdym razem sprawdzamy, czy punkt, na który trafi jest oświetlony, czy w cieniu. Jest to oświetlenie lokalne.
Radiosity - metoda oświetlenia globalnego - najpierw tworzymy tablicę, w której przechowujemy informacje, jaka część światła, które trafia na daną powierzchnię jest odbita w stronę innej. Taką informację zapisujemy dla każdej pary wielokątów. Jest to oświetlenie globalne.
Aliasing - efekt niedopasowanie częstotliwości do rozdzielczości monitora (Wiki: powstaje w wyniku zbyt małej częstości próbkowania obrazu w procesie rasteryzacji). Objawia się pojawianiem się „shodków” zamiast gładkiej powierzchni czy zanikaniem niektórych szczegółów.
Antialiasing - czyli metoda najbliższego sąsiada (filtr prostokątny, sinusoidalny, trójkątny), o wartości punktu decydują pixele z jego najbliższego otoczenia.
Rasteryzacja - zamiana ciągłej funkcji na dyskretną w celu odwzorowania jej na ekranie. Problem sprowadza się do wyboru pikseli, którym trzeba nadać kolor, aby w efekcie otrzymać wymagany kształt geometryczny.
Obraz rastrowy - dwuwymiarowa macierz pixeli.
Clipping - usuwanie obiektów znajdujących się poza polem widzenia.
Culling - usuwanie obiektów zasłoniętych przez inne obiekty.
Wg Artura:
- korekcja gamma
Korekcja gamma - zmiana wartości pikseli prowadząca do liniowej zale!nożci pomiędzy wartościami pikseli i luminancją. Ma to na celu poprawianie nieliniowej zależności między wartościami pixeli a ich wartościami na monitorze (i napięciem na katodzie).
- etapy potoku graficznego czasu rzeczywistego (bardziej szczegółowo)
Dla porównania - potok bez cieniowania phonga:
0,5. Definiowanie sceny 3D (definiowanie obiektów, ich textur, kolorów, powierzchni, oświetlenia, położenia kamery i parametrów środowiska).
1. Przechodzimy z współrzędnych lokalnych do globalnych (tu następują takie przekształcenia, jak skalowanie, obrót, translacja o wektor)
2. Lighting - obliczamy dla każdego wierzchołka wektor normalny, a potem z równania oświetlenia kolor
3. Rzutowanie (robimy 2D z 3D)
3,5. Clipping (obcinamy to co wystaje)
4. Przejście na współrzędne rastrowe (przerabiamy współrzędne na liczby całkowite z odpowiedniego zakresu + skalowanie, czyli zmiana rozmiaru)
5. Shading (cieniowanie) - wypełniamy kolorem wnętrza wielokątów - albo Gouard shading albo flat shading.
6. Texturowanie
7. Bufor ramki (pobiera obraz i z niego RAMDAC wysyła obraz na ekran w postaci sygnału analogowego)
Z cieniowaniem Phonga:
1. bez zmain
2. Obliczamy dla kazdego wierzchołka tylko wektor normalny
3, 4. bez zmian
5. Cieniowanie Phonga - najpierw tak, jak w cieniowniu Gouarda wypełnialismy środek trójkąta obliczając kolor dla każdego piksela, tak teraz dla każdego piksela obliczamy wektor normalny interpolując te obliczone dla wierzchołków. Teraz dla każdego piksela rozwiązujemy równanie oświetlenia i uzyskujemy kolor.
6, 7. bez zmian
- cieniowanie Gouarda
- shader i fagment
Shader - krótki program komputerowy odpowiadający za cieniowanie obiektów.
Fragment - zbiór danych na podstawie których obliczany jest kolor piksela.
Wg flawiusza:
Pytania na egzaminie:
- Po co jest GPU (podac róznice miedzy GPU a CPU)?
GPU, czyli Graphics Procesor Unit - jednostka obliczeniowa w nowszych kartach graficznych. Podstawowa różnica między nią a Central Processing Unit jest taka, że zajmuje się ona wyłącznie wykonywaniem obliczenień podczas przetwarzania grafiki. Jest ona uzupełnieniem CPU, ponieważ nie jest ono w stanie generować obrazu z wymaganą prędkością ze względu na
specyficzny charakter algorytmów generowania obrazu i zbyt dużą liczbą danych.
- Równanie oswietlenia w grafice czasu rzeczywistego (do czego sluzy i jak wyglada równanie)?
Służy do obliczania kolorów w wierzchołkach wielokątów na podstawie parametrów powierzchni I źródeł światła.
- Co to sa funkcje dopasowania barw (do czego sluza funkcje dopasowania barw i co to sa)?
- Opisz cieniowanie Gouraud (opisac to cieniowanie- podac kiedy i po co sie stosuje oraz algorytm, najlepiej narysowac)?
Polega ono na tym, że dla każdego wielokątu, z których składa się obiekt obliczamy kolor pixeli nie powierzchni na podstawie jednej ustalonej barwy, tylko odległości od wierzchołków wielokąta, robimy cieniowanie zamiast jednolitego koloru.
- Czym jest piksel (co to piksel i jakie ma parametry - trzeba je opisac)?
Jest to punkt obrazu, nie posiada wymiarów ani powierzchni. Jego parametry to kolor i położenie.
- Korekcja gamma (co to jest i po co sie stosuje korekcje gamma).
Jest to rozwiązanie problemu, przez który po zwiększeniu jasności pixela n razy nie otrzymujemy n krotnego zwiększenia jasności na ekranie. Spowodowane jest to nieliniowym wzrastaniem napięcia na katodzie, która nadaje jasność pixelom na monitorze. Funkcja korekcji gamma odpowiednio zwiększa wartość przypisywaną pixelowi, tak by efekt końcowy był liniowy.
- Czemu na monitorze + 24bit RGB nie mozna przedstawic wszystkich widzialnych kolorów ?
Dobre pytanie...
- Omówic proces oswietlania z cieniowaniem Phonga, gdzie to jest w potoku graficznym + wejscie/wyjscie tego bloku potoku.
- Skad sie bierze aliasing?
Powstaje kiedy przy rasteryzacji obrazu częstotliwość próbkowania jest zbyt mała.
- Róznice miedzy oswietleniem globalnym a lokalnym oraz oswietlenie w grafice czasu rzeczywistego, ray tracing i radiosity?
(wyżej)
- Potok graficzny z punktu widzenia przetwarzania geometrycznego: etapy, wejscia i wyjscia na kazdym etapie.
- W jaki sposób piksele w macierzy sa wyswietlane na ekranie monitora, drukarkach, itd.? Chodzilo o to, by wytlumaczyc jakie parametry ma piksel i o sposoby rekonstruowania obrazu (blokowe, przy pomocy funkcji sinc, itd.).
Dopytka:
- równanie oswietlenia
wymagal odpowiedzi: Sluzy do okreslenia koloru wierzcholka trójkata
- cieniowanie Phonga.
- skladowa shainess.
- co to sa te 3 skladowe w równaniu oswietlenia, co ten model liczy?
- co liczy Gouraud?
- gdzie w potoku graficznym jest cieniowanie?
- co to jest potok graficzny.
Egzamin - 1h na odpowiedzi na pytania (około 4-5)
Co to jest cieniowanie?
Co to jest i do czego służy równanie oświetlenia.
Opisać kolejne etapu teksturowania.
Obraz rastrowy?
Co to jest piksel?
Jak działa LCD?
Etc :E
Po pisemnym można ustnie poprawić/obniżyć sobie ocenę.
zgk.wi.ps.pl
System graficzny - komputer + karta graficzna
Monitory (LCD)
Korekcja gamma, zasady działania
Budowa karty graficznej (prosty zarys - jakie elementy - procesor, zegar, pamięć)
Obraz rastrowy ***
Co to jest - pewne miejsce w pamięci, które dzielimy na piksele
Jak powstaje obraz rastrowy - próbkowanie/integracja
Jak rekonstruować obraz cyfrowy - piksel, które ma nieskończenie małe wymiary, musi mieć jakieś nadane wymiary.
Aliasing - próbkowanie obrazu spójnego jest niedokładne - niezbyt częste, przez co powstaje aliasing
Metody unikania w przypadku źle spróbkowanego obrazu
Filtry idealny i filtr praktyczny
Grafika rastrowa
Rysowanie w rastrze - rysowanie po obrazie rastrowym
Narysowanie piksela - znajdowanie komórki w pamięci obrazu i zmienianie koloru
Rysowanie linii, okręgu itp.
Rysowanie linii przerywanych, zamalowywanie obszarów
Przezroczystość
Operacje logiczne
Potok graficzny czasu rzeczywistego, synteza obrazu ***
Definicja sceny 3D (dane wejściowe) - geometria w postaci siatki trójkątów, materiały (kolory)
3 transformacje podstawowe - skalowanie, obrót, translacja - macierz transformacji
Liczymy wszystko, przechodzimy do współrzędnych globalnych, uwzględniamy lighting, następnie rzutujemy trójkąty i przenosimy do rastra (wcześniej jeszcze stripping - wywalanie niewidocznych)
Wypełniamy wnętrze - Flat shading, cieniowanie Phonga
Z-buffer
Teksturowanie
Mapowanie
Skalowanie - filtrowanie
Wymieszanie - przemnożenie koloru piksela z oświetlenia i cieniowania przez kolor piksela tekstury
Programowanie grafiki komputerowej - biblioteka openGL
Architektura biblioteki (maszyna stanu, możliwość przetwarzania danych trójwymiarowych, przetwarzanie rastrowe)
openGL nie ma wejścia/wyjścia, musi być wspomagana
Shadery - programy wykonywane na kartach graficznych
Są na kartach jednostki cieniujące (vertex unit/fragment unit)
Vertex - obliczanie parametrów wierzchołków
Fragment - przeliczanie pikseli (teksturowanie/cieniowanie)
Fragment - zbiór danych na podstawie których obliczany jest piksel
Na nowych kartach graficznych jest już tylko jeden shader, który przetwarza wszystko
Pojecie realizmu
2 metody syntezy obrazu realistycznego
Ray-tracing czy cos
Radiosity - równanie bilansu energetycznego (form factor - współczynnik sprzężenia)
Radiosity + Ray-tracing = full global coś - cały system