1. Podział kart graficznych:
- Karty graficzne pracujące jako oddzielne układy – Można je wymieniać, są dużo szybsze od kart zintegrowanych. Współczesne karty graficzne do komunikacji z komputerem wykorzystują interfejs AGP, PCI lub PCIe.
- Karty graficzne zintegrowane z płytą główną (a dokładniej z mostkiem północnym) – Z powodu małych rozmiarów są one dużo wolniejsze od kart nie zintegrowanych. Jest to mniej popularny typ kart graficznych.
2. Etapy generowania grafiki 3D:
-modelowanie, teksturowanie, ustawianie sceny, renderowanie sceny
3. Na czym polega ustawianie geometrii
Ten proces zapoczątkowuje tworzenie grafiki trójwymiarowej. Ustala, gdzie dany obiekt ma się znajdować w przestrzeni. Karta graficzna wykonuje na każdym punkcie trzy operacje: skalowania, rotacji oraz translacji.
4. Co to jest rendering i jego podział
Renderowanie w grafice trójwymiarowej obejmuje analizę modelu danej sceny oraz utworzenie na jej podstawie dwuwymiarowego obrazu wyjściowego w formie statycznej lub animacji.
5. Co to jest teksturowanie
Technika stosowana w grafice trójwymiarowej, której celem jest przedstawienie szczegółów powierzchni obiektów przestrzennych za pomocą obrazów bitmapowych (tekstur) lub funkcji matematycznych.
6. MIP- map ping
To technika teksturowania bitmapami wykorzystywana w grafice trójwymiarowej, która pozwala uniknąć wad i tym samym uzyskać lepszą jakość obrazów. Przyspiesza ona również sam proces teksturowania.
7. Próbkowanie punktowe
Jest najmniej obciążającym pamięć akceleratora sposobem zmiany wielkości tekstur i stanowi podstawę mapowania we wszystkich stosowanych obecnie technikach filtrowania.
8. Filtrowanie tekstur
Filtrowanie poprawia ostrość tekstur w grze. Wyświetlania tekstur w wysokiej rozdzielczości obciąża komputery i konsole, a nie zawsze wyświetlanie ich w pełnej rozdzielczości ma sens - na przykład na małych obiektach lub w dużej odległości od gracza.
9. Korekcja perspektywy
Zabieg polegający na przesunięciu obiektywu względem płaszczyzny obrazu.
10.Mapowanie wybojów
Jest to rysowanie trójkąta z jednoczesną interpolacją mapy świateł i mapy wybojów , zgodnie z którą zaburzamy nieco mapę oświetlenia.
Mapowanie wypukłości (bump mapping) – Metoda poprawiania wyglądu renderowanych obrazów przez taką zmianę wyglądu tekstur za pomocą ich oświetlania i cieniowania, by wyglądały jak trójwymiarowe.
Tłoczenie wybojów (embossbumpmapping) - nowa tekstura powstaje przy wykorzystaniu efektu graficznego emboss.
Środowiskowe mapowanie wybojów (Environmental-MappedBumpMapping, EMBM) - nowa tekstura powstaje w wyniku nałożenia na nią specjalnej mapy środowiskowej stworzonej na podstawie informacji o strukturze przedstawianego przez teksturę materiału.
DOT 3 mapping - jedna z wielu technik symulowania wypukłości na płaskich wielokątach, stosowana w grafice trójwymiarowej. Podstawą działania mapowania normalnych jest zastąpienie wektorów normalnych opisanych przez geometrię, wektorami zapisanymi w specjalnej teksturze - mapie normalnych.
Mapowanie środowiska - tekstura jest ruchoma względem obiektu; w grafice czasu rzeczywistego (np. grach komputerowych) w ten sposób symuluje się metaliczne obiekty, które odbijają otoczenie
Multiteksturowanie - nakładanie wielu tekstur za jednym przebiegiem.
11.Alpha-blending - to renderowanie z różnymi współczynnikami przezroczystości (alfa) kilku obiektów, które pokrywają się przynajmniej w pewnej części. W efekcie otrzymujemy obraz przenikających się obiektów.
12.Cieniowanie
a) Cieniowanie płaskie - Dla całego wielokąta uśredniony kolor wierzchołków.
b) Cieniowanie Gouraud - Interpolacja liniowa koloru wierzchołków. Ze wzrostem odległości od wierzchołka maleje jego wpływa na kolor piksela.
c) Cieniowanie Phong’a - Interpolacja liniowa wektorów normalnych. Kolor piksela obliczany na podstawie wektora normalnego obliczonego dla danego piksela.
13.
Mgła wolumetryczna(Volume Fog) — umożliwia tworzenie kłębiących się chmur, mgieł oraz dymów.
Mgła liniowa (Linearfog) polega na stopniowym zamgleniu obiektów wraz ze wzrostem odległości od obserwatora. Im dalej tym więcej "ścian mgły” i gorsza widoczność obiektu aż do całkowitego zniknięcia.
Mgła tablicowa (Tablefog) - poziom zamglenia jest opisany dowolnymi wartościami zapisywanymi w odpowiedniej tablicy. Dzięki temu rodzajowi mgły istnieje możliwość jej tworzenia w konkretnym miejscu np. w przepaści lub nad taflą jeziora.
Mgła wykładnicza (Exponentialfog) działa na podobnej zasadzie, co mgła tabelowa. Wartość zamglenia wyliczana jest od razu za pomocą odpowiedniego wzoru matematycznego bez konieczności tworzenia tablicy.
14.Rasteryzacja - jest to czynność polegająca na konwersji obrazu opisanego w formie wektorowej na obraz rastrowy (piksele lub kropki) w celu wyświetlenia na urządzeniu wizyjnym, wydrukowania lub w celu zapamiętania w pliku w formacie bitmapowym.
15.Z-bufor to niewidoczny bufor ekranu, w którym trzymane są "głębokości" pikseli. Żeby nowy piksel został narysowany, musi się on znajdować bliżej, niż stary. Dzięki temu, niezależnie, w jakiej kolejności rysujesz trójkąty, wszystko jest odpowiednio zasłaniane
16.Bufor szablonowy – (ang. StencilBuffer) umożliwia tworzenie specjalnego szablonu definiującego obszar, do którego ograniczone będzie rysowanie sceny. Obszar określony jest w buforze koloru i może zostać wypełniony dowolnym kształtem (rzutem).
17. Anti-aliasing jest wygładzeniem krawędzi przez dodawanie punktów pośrednich między tłem, a obiektem z kantami. Z daleka ten efekt daje nam złudzenie braku kantów.
18.Dithering (rozsiewanie lub rozpraszanie) – zamierzony efekt zastosowania szumu w celu zniwelowania błędu kwantyzacjizapobiegający efektowi bandingu. Efekt ten powoduje złudzenie bardziej płynnego przejścia od jednego koloru do drugiego (szczególnie dla mniejszej ilości kolorów) oraz zniwelowanie zjawiskabandingu.W grafice kolorowej próba stworzenia koloru poprzez kompozycję kilku barw z dostępnej palety, gdy kolor oryginalny nie może zostać bezpośrednio wyświetlony - symulacja koloru poprzez wyświetlenie w bliskim sąsiedztwie punktów o barwach składowych. Postrzeganie trzech punktów w kolorach składowych z większej odległości daje wzrokowy efekt koloru zamierzonego.W grafice czarno-białej podobna symulacja lecz odcienie szarości. Skalowanie osiąga się poprzez natężenie ilościowe punktów składowych czarnych i białych.
19.OpenGLjest interfejsem programowym aplikacji - zestawem funkcji umożliwiających tworzenie interaktywnej grafiki 3D. Program oparty na OpenGL musi być pisany z zastosowaniem języka programowania (C, Visual Basic, Delphi itp.). Zestaw funkcji OpenGL podzielono na 3 podstawowe składniki: • Bibliotekę AUX (nowa wersja nosi nazwę GLUT)- Narzędzie do uruchamiania aplikacji OpenGL na dowolnej platformie systemowej (nie należy do standardu). • Bibliotekę GL- Zestaw funkcji zdefiniowanych w standardzie OpenGL. • Bibliotekę GLU-Zestaw funkcji wyższego poziomu umożliwiających rysowanie, oświetlenie i teksturowanie sfer dydków i walców, korzystających z biblioteki GL. Biblioteka OpenGL jest włączona jako składnik systemów operacyjnych Windows (od Win95 OSR), Unix oraz Linux.
20.Modele barw
-Model CIE Yxy jest to model o przestrzeni barw zawartych w krzywoliniowym stożku, oś pionowa Y (zwana luminancją) określa atrybut - jasność. Prostopadły przekrój do osi luminancji wyznacza wykres chromatyczności, zwany też trójkątem chromatyczności lub krzywoliniowym trójkątem Maxwella. Wykres chromatyczności zawiera u krawędzi części krzywoliniowej wszystkie barwy proste - widma światła białego, barwy te są nasycone.
-Model CMC wykorzystuje przestrzeń CIE Lab, jednak jedynie w aspekcie oceniania różnicy barw. W odróżnieniu od przestrzeni Lab CMC skupia się na tolerancji obserwatora w zakresie różnic między doznawanymi wrażeniami barwnymi.
-Przestrzeń barw Lab – kolorymetryczny model przestrzeni barw rozciągający się pomiędzy barwami przeciwstawnymi, tworzącymi następujące wymiary: wymiar L oznaczający jasność, oraz wymiary a i b, oparte na nieliniowo skompresowanych koordynatach przestrzeni barw CIEXYZ.
-Model HSB/HSV nawiązuje do sposobu, w jakim widzi ludzki narząd wzroku, gdzie wszystkie barwy postrzegane są jako światło pochodzące z oświetlenia. Według tego modelu wszelkie barwy wywodzą się ze światła białego, gdzie część widma zostaje wchłonięta, a część odbita od oświetlanych przedmiotów.
-Model
barw RGB.
Model oparty został na barwach addytywnych - czerwonej, zielonej i
niebieskiej. To typowy model używany do manipulowania barwami na
monitorach, skanerach, aparatach. Barwy zawarte zostały w
sześcianie, którego prostopadłymi osiami są różne poziomy
jasności świateł podstawowych.
W punkcie wierzchołkowym
trzech osi znajduje się czerń, wzdłuż każdej osi rośnie poziom
jasności barw składowych, osiągając maksymalną wartość na
końcu osi.
-Model barw CMY. Model ten oparty jest na trzech subtraktywnych barwach: Cyjanie(niebieskozielony), Magencie(purpura) i Yellow(żółta), a dopełnieniem do gamy CMYK jest czerń. Kolorową reprodukcję możemy otrzymywać za pomocą farb o trzech barwach komplementarnych ze światłami podstawowymi, w reprodukcjach wielobarwnych użyjemy dodatkowo czwartej farby - czarnej. Model CMY jest, podobnie jak RGB sześcianem, którego trzema prostopadłymi osiami są osie barw składowych. Poszczególne poziomy jasności farb składowych uzyskujemy na podstawie tzw. rastra, którego efektem są punkty rastrowe, farby triadoweCMYK nakładane na podłoże w postaci punktów dają efekt mieszania subtraktywnego.
-Model YUV jest używany w telewizorach analogowych i jest kombinacją luminancji (Y) oraz dwóch komponentów z kolorami:
niebieski minus luminancja (U)
czerwony minus luminancja (V)
-Przestrzeń kolorów Musella ma trzy wymiary: barwa (hue), nasycenie (chroma) i jasność (value).Munsell wyznaczył pięć barw głównych: czerwoną (R), żółtą (Y), zieloną (G), niebieskią (B) i purpurową (P), oraz pięć barw pośrednich: żółto-czerwoną (YR), zielono-żółtą (GY), niebiesko-zieloną (BG), purpurowo-niebieską (PB) i czerwono-purpurową (RP). Każda z tych 10 barw otrzymała 10-stopniową gradację. Kombinacje tych barw dają skończoną ilość barw rozmieszczonych na odwodzie koła barw. Promień koła wyznacza linię malejącego ku środkowi nasycenia (gradacja 0-12). Trzeci wymiar przestrzeni stanowi oś jasności (value) podzielonej na 11 stopni (gradacja 0-10). Cała przestrzeń ma więc formę walca z osią jasności, promieniem nasycenia i barwami rozłożonymi na obwodzie.
a) Rodzaje:
- oświetlenie lokalne – obliczania związane z rozkładem oświetlenia są wykonywane w zależności od położenia obserwatora; to podejście jest wykorzystywane w ray tracingu;
- oświetlenie globalne – oświetlenie jest liczone dla całej sceny.
b) algorytm Phonga - model oświetlenia stosowany w grafice komputerowej służący do modelowania odbić zwierciadlanych od nieidealnych obiektów,
c) algorytm Lamberta - odbicie rozproszone przez idealnie matową powierzchnię, opisane prawem Lamberta. Jest stosowanym w grafice komputerowej modelem oświetlenia powierzchni matowych (takich jak papier, kreda) przez światło punktowe.
22. Rzutowanie
a) Perspektywiczne - jest nieco trudniejsze do zaimplementowania, jednak jego wyniki są zbliżone do tego, co widzimy własnym okiem – obraz jest bardziej realistyczny i posiada wrażenie głębi (obiekty na dalszym planie są mniejsze).
b) Równoległe - najprostszym typem rzutowania, zachowuje wszystkie równoległości prostych, kąty i wymiary. Wszystkie proste rzutowania mają ten sam, ustalony kierunek.
23. Rachunek wektorowy - obraz opisany jest za pomocą figur geometrycznych (w przypadku grafiki dwuwymiarowej) lub brył geometrycznych (w przypadku grafiki trójwymiarowej), umiejscowionych w matematycznie zdefiniowanym układzie współrzędnych, odpowiednio dwu- lub trójwymiarowym.
24. Rachunek macierzowy - opisanie operacji geometrycznych w taki sposób, aby ich wykonanie było z jednej strony efektywne, a z drugiej, aby opis był prosty i ujednolicony.
25. Przekształcenia geometryczne 2D i 3D
-Translacja polega na przesunieciu zadanego obiektu o wektor przesuniecia. Do przeprowadzenia translacji służy funkcja.
voidglTranslatef(GLfloat x, GLfloat y, GLfloat z) voidglTranslated(GLdouble x, GLdouble y, GLdouble z)
Funkcja mnoży bieżącą macierz modelowania (widoku modelu) przez macierz translacji. Jako parametry przyjmuje składowe wektora przesunięcia na poszczególnych osiach układu współrzędnych. Nowa macierz staje się bieżąca macierzą modelowania.
-Rotacja
polega na obrocie obiektu o zadany kat wokół wektor obrotu. Do
przeprowadzenia rotacji służy funkcja.
voidglRotatef(GLfloatangle,
GLfloat x, GLfloat y, GLfloat z)voidglRotated(GLdoubleangle, GLdouble
x, GLdouble y, GLdouble z)Funkcja
mnoży bieżąca macierz modelowania (widoku modelu) przez macierz
obrotu.Kat obrotu określany jest w kierunku przeciwnym do ruchu
wskazówek zegara, sam obrótdokonywany jest wokół osi wyznaczonej
przez wektor o początku w układzie współrzędnych i końcu w
punkcie (x,y,z). Nowa macierz staje się bieżąca macierzą
modelowania.Funkcja glRotate tak naprawdę nie obraca obiektów,
wykonuje ona obrót układuwspółrzednych wokół zdefiniowanego
wektora.
-Skalowanie polega na zmianie rozmiarów zadanego obiektu o wektor skalowania.Do przeprowadzenia skalowania służy funkcja.voidglScalef(GLfloat x, GLfloat y, GLfloat z) voidglScaled(GLdouble x, GLdouble y, GLdouble z) Funkcja mnoży bieżąca macierz modelowania (widoku modelu) przez macierzskalowania. Nowa macierz staje się bieżąca macierzą modelowania. Funkcja glScale tak naprawdę nie skaluje obiektów, ale powoduje skalowanie układu współrzędnych.
26.Stereoskopia to uzyskiwanie obrazów odtwarzających efekt widzenia obuocznego, co zapewnia naturalne wrażenie głębi w scenie i bryłowatości przedmiotów. Techniki stereoskopowe polegają na przedstawienia każdemu oku nieco różnych obrazów. Z takich dwóch obrazów w naszej głowie powstaje jeden trójwymiarowy obraz, z całą głębią i realnością oryginału.
27.
28. Krzywe parametryczne
a) Hermitea - segment krzywek określany przez dwa punkty końcowe A i B oraz wektory Q i R styczne w tych punktach.
b) Beziera - krzywa przechodzi przez dwa punkty końcowe, ale nie przechodzi przez pozostałe punkty kontrolne.
29. Silniki graficzne
Część kodu aplikacji odpowiedzialna za tworzenie grafiki (2D lub 3D) na ekranie komputera. Zawiera elementy konieczne do wykonywania złożonych matematycznych obliczeń i przekształceń elementów grafiki. Silnik graficzny zajmuje się renderowaniem programowym bądź sprzętowym obrazu na zwykłym ekranie w czasie rzeczywistym. Przykładami takich silników mogą być Genesis3D, Irrlicht, OGRE, Antiryad Gx, Crystal Space.
30. Techniki generowania cieni: rzutowanie cieni (projectedshadows), cienie objętościowe (volumetricshadows), mapowanie cieni (shadowmaping).