Słowniczek pojęć związanych z grafiką 3D
Poniżej zamieszczam słowniczek(jego część zaczerpnąłem ze strony http://www.kki.net.pl/~opengl/wwwgl.htm).
Alfa blending - Do symulacji efektu przezroczystości stosuje się tzw. kanal alfa, a cała technika nosi nazwę alpha blendingu. Ów kanał alfa jest parametrem określającym stopień przeźroczystości nakładanej tekstury. Przyjmuje on wartości od zera(obiektu zupełnie transparentny) do 255(powierzchnia nieprzeźroczysta), a wartości pośrednie oznaczają odpowiedni stopień przezroczystości. Innymi słowy, jeśli nałożona zostanie tekstura z kanałem alfa równym zero nic się nie zmieni na rysunku - tekstura będzie niewidoczna. Jeśli wartość kanału alfa wynosi np. 128, wówczas obłożony nią obiekt będzie półprzeźroczysty, a znajdujące się za nim przedmioty będą przezeń widoczne. Przy maksymalnej zaś wartości mamy do czynienia z typową nieprzezroczystą teksturą. Wartość kanału alfa ukryta jest w czterech parametrach opisujących tekstury. Praktycznie wszystkie nowoczesne akceleratory potrafią obsługiwać 32bitowy kolor. Jak wiadomo do przedstawienia pełnej palety barw wystarczą 24 bity. Brakujące osiem bitów to właśnie kanał alfa, a tekstury takie nazywane są 8888 RGBA , gdzie: 8 oznacza 8 bitów na każdą ze składowych R(red), G(green), B(blue), A(alfa). Oczywiście obsługiwane są też tekstury bez kanału alfa (888RGB) czy 565RGB), jak również 16 bitowe tekstury z kanałem alfa (4444RGBA) wykorzystywane przez starsze układy z serii VOODOO.
Anti-aliasing - wygładzanie krawędzi wielokątów.
Bi-linear filtering (Bilinearne filtrowanie) - Jest to tzw. filtrowanie dwuliniowe. Polega ono na przyporzadkowaniu każdemu pikselowi teksturowanego trójkąta nie jednego koloru teksela, ale barwy otrzymanej w wyniku interpolacji czterech sąsiednich tekseli tekstury. Daje to rozmycie obrazu eleminujące efekt pikselozy znany z starszych gier jak DOOM.
Clipping (obicnanie) - określa wymiary prostopadłościanu wewnątrz którego obraz jest wyświetlany. Określa najbliższy i najdalszy widzialny dystans.
Dithering - (mieszanie) kolorów. Stosuje się tylko przy użyciu palet. Często nie ma koloru o danych parametrach RGB wówczas symuluje się go poprzez dostosowanie sąsiednich punktów do najbardziej zbliżonego do pożądanego koloru.
Double Buffering - (podwójne buforowanie) jest to sposób wyświatlania scen 3D. Polega on na wcześniejszym przygotowaniu całej sceny w pamięci karty graficznej a dopiero później wyświetleniu jej na ekranie.
FPS / Frames per second - ilość klatek na sekundę. Jest to wskaźnik płynności animacji. Płynna animacja musi mieć min. 30 FPS.
Photo mapping - nakładanie obrazka na obiekt 3D. W wyniku tego obraz zostaje naciągnięty na bryłę 3D.
Rasterization - Przekształcenie obiektu 2D w obiekt 3D.
Ray tracing - (śledzenie promieni) sposób generowania światła poprzez obliczanie drogi promienia świetlnego od źródła do obiektu, wykonanie odbicia i wędrówka do oka obserwatora. Jest to najlepszy rodzaj generowania świateł ale wymaga on bardzo dużej mocy obliczeniowej...
Shading (Gouraud/Phong) - Cieniowanie Gouraud'a lub Phonga. Metoda Gouraud'a jest szybsza a Phonga wolniejsza (wymaga dużej mocy obliczeniowej procesora i karty/akceleratora). Metoda Phonga daje dużo lepsze efekty.
Tri-linear filtering - Filtrowanie trójliniowe, polega na tym, że do ujednolicania barwy zamiast sąsiednich tekseli stosuje się dwie kolejne mapy MIP. Najpierw poddaje się interpolacji dwuliniowej mapę pierwszą, potem drugą. Dopiero uśredniony wynik obu tych operacji (w sumie interpolujemy wartość ośmiu tekseli) nakłada się na mapowany trójkąt. Jest to bardziej zaawansowana metoda filtrowania bilinearnego.
MIP-MAPPING - Przed renderowaniem sceny z każdej tekstury tworzonych jest kilka(zazwyczaj 8) tzw. map MIP. Mapy MIP to nic innego jak zmniejszone bitmapy utworzone na podstawie tekstury wzorcowej. Każda kolejna mapa MIP jest czterokrotnie mniejsza od poprzedniej. Jeśli pierwsza miała rozmiar 256x256 to następna będzie 128x128, trzecia 64x64 itd... Przy nakładaniu na trójkąt tekstury do wycinania wybierana jest taka ze zbioru map MIP, która wymiarami jest najbardziej zbliżona do mapowanego trójkąta. Zapobiega to ciągłym przeskalowaniom tekstur i przyspiesza generowanie sceny 3D.
Environment Mapping - Mapowanie środowiskowe. Pozwala na tworzenie efektów lusta itp... W przypadku kubicznego mapowania środowiskowego na szkieletowy model bryły nakładanych jest sześć wypadkowych tekstur(powstałych z połączenia pierwotnej tekstury przedmiotu z mapami środowiska), odpowiadających obrazowi dolnej, górnej i czterech bocznych części otoczenia obiektu. Odbicia i refleksy świata na powierzchni tak powstałego przedmiotu wyglądają niemal identycznie jak w realnym świecie.
Video mapping - tak samo jak Photo mapping tyle że operuje się animacją.
Z - buffer (bufor głębokości) Każdy punkt na scenie ma swoją "głębokość" (jest dalej lub bliżej obserwatora) wartość ta jest przechowywana w buforze głębokości. Jest on używany do określania które wielokąty są widoczne a które nie są.
Surface - powierzchnia, materiał nakładany na obiekt lub jego część. Pojęcie to jest często mylone z teksturą. Na materiał może składać się wiele tekstur, które mogą definiować różne jego parametry (kolor, nierówności czy połysk)
Tekstura - mapa bitowa (może być generowana na podstawie wzorów matematycznych) nakładana na daną powierzchnię. Tekstura może być mapą nierówności, przezroczystości itp. [Patrz też: nakładanie tekstur]
Poligon - wielokąt (trójkąt lub czworokąt), część składowa wszystkich obiektów 3D(każdy złożony obiekt 3D konstrułowany jest z mniejszych - wielokątów)
Move Pivot Point - punkt obrotu obiektu
Obiekt - zbiór punktów, krzywych, wielokątów mających określony punkt obrotu oraz przypisany materiał
Scena - zbiór definicji obiektów, kamer mających swoje położenie, parametry obrotu, skalowania oraz wszystkie informacje dotyczące świateł oraz dodatkowych ustawień (mgły, tła itp.)
Renderowanie (obrazowanie) - proces tworzenia gotowej grafiki na podstawie sceny
Bump Mapping - mapowanie nierówności. Jest to specjalny proces powodujący iż z pozoru płaska tekstura obserwatorowi będzie wydawać się jak nierówna(chropowata, posiadająca wypukłości). Najprostszym sposobem uzyskania czegoś takiego jest złożenie dwóch różnobarwnych tekstur(ciemnej i jasnej), lekko przesuniętych względem siebie. Ta technika pozwala na tworzenie obiektów bardziej złożony wizualnie przy tej samej ilości wielokątów składających się na scenę.
Pre-calculated bump mapping - najprostsza metoda bump mappingu, sprowadzająca się do obliczenia swoistego rodzaju oświetlenia tekstury - tam gddzie jest
zagłębienie teksel jest przyciemniany, a gdzie jest wypukłość rozjaśniany. Ta technika pozwala dość dobrze odwzorować nieruchome , prostopadłe lub znajdujące się nawet pod dość znacznym kątem względem obserwatora obiekty.
Emboss bump mapping - obecnie najczęściej stosowana metoda , tzw. tłoczenie wybojów. Sprawdza się ono dobrze wtedy, gdy na tekstury spoglądamy pod niewielkim kątem lub są one nakładane na poruszające się obiekty. "Tłoczenie" realizowane jest w trzech etapach. W pierwszym z mapy opisującej wygląd wypukłości(mapy wybojów) tworzone są dwa monochromatyczne obrazy. Jeden zostanie wykorzystany do przedstawienia obszarów jaśniejszych, drugi będzie odpowiadał za obszary zacienione. W kolejnej fazie obie bitmapy przesuwane są o kilka pikseli względem siebie(jedna do tyłu, druga do przodu) wzdłuż kierunku padającego światła. Ostatni z etapów polega na zlaniu rozsuniętych bitmap (przy wykorzystaniu alpha-blendingu) z właściwą teksturą obiektu.
Normalna - jest to nic innego jak wetktor jednostkowy(jego współrzędne X,Y,Z ograniczone do wartości 1) wyznaczający kierunek danego wielokąta. Normalne wykorzystywane są przy operacjach na światłach.[ Patrz też: normalne przy obiektach Quadric]. Normalne są potrzebne do obliczania kąta między promieniem światła a trójkątem na który ono pada.
Perspektywa - proces obliczeń prowadzący do zwiększenia realizmu sceny. Jego działanie polega na tym, że obiekty dalsze względem wzroku obserwatora są mniejsze niż obiekty bliższe. Realizowana jest z wykorzystaniem specjalnych wzorów:
Xp = Xv + (Xv - X) * Zv / (Z - Zv)
Yp = Yv + (Yv - Y) * Zv / (Z - Zv)
gdzie:
Xv,Yv,Zv - położenie obserwatora
X,Y,Z - współrzędne punktu w trzech wymiarach
Xp,Yp - współrzędne punktu na ekranie
Powyższe dwa wzory wykonywane są dla każdego punktu znajdującego się w przestrzeni 3D.
(Dokładnie mówiąc to wzory te powodują przekształcenie perspektywiczne punktu trójwymiarowego w punkt dwuwymiarowy)
Oczywiście cały ten proces realizuje za nas OpenGL. A parametry perspektywy można ustawić poleceniem gluPerspective
UWAGA: Perspektywa jest rzutowaniem przeciwnym do rzutu równoległego.
Rzutowanie równoległe - przeciwieństwo rzutowania perspektywicznego, gdzie wszystkie obiekty bez względu na położenie w buforze głębokości wizualnie zachowują swoje oryginalne wymiary, powoduje ono zmniejszenie realizmu sceny. Także dostępne w OpenGL -> polecenie glOrtho
Wyszukiwarka
Podobne podstrony:
Install (28)F1 28 Formy bool 406 11 09 (28)28 XSYZG6SUTQ4ITCDGDJTLHB4EQHIHGDYMRX7DWPARozporządzenie Ministra Finansów z dnia 28 września 2007 r ws zapłaty opłaty skarbowej2008 Metody obliczeniowe 13 D 2008 11 28 20 56 53Party Alarm Apres Ski (3 CD) (28 12 2014) TracklistaSKOPIUJ LINKI DO PRZEGLĄDARKI ABY POBRAĆ !!!(28)6 (28)index (28)28więcej podobnych podstron