To, że widzim to zasługa światła. REDEROWAIE GRAFIKI 3D Dlatego istotą spraw jest zdefiniowanie sposoów rozchodzenia się promieni świetlnch. oświetlenie cieniowanie model oświetlenia rozchodzenie się strumieni energii świetlnej wchodzącch ze źródeł światła w kierunku oiektów scen wzdłuż ścieżek ezpośrednich i pośrednich metoda wznaczania kolorów poszczególnch pikseli itmap, na podstawie odpowiadającch im punktów w przestrzeni uproszczone oliczenia opisujące rozchodzenie się światła w scenie (dokładn model jest zt skomplikowan) Kolor każdego piksela itmap realizującej rzut scen na płaszczznę rzutowania zależ od: źródeł światła (emiterów): kolor, położenie w przestrzeni, kształt, rodzaj światła (sposó rozchodzenia się promieni świetlnch), sposó zanikania właściwości powierzchni oiektów: położenie, kolor, asorpcja, normalna do powierzchni, właściwości materiału (chropowatość-mikrostruktura oiektu, połsk, przezroczstość, powierzchnia lustrzana), tekstura materiału Po dotarciu do powierzchni oiektu promienie świetlne są asorowane (pochłaniane), rozpraszane, odijane i załamwane. Kolor powierzchni oiektu jest determinowan przez tą składową widma świetlnego, która jest odijana (model multiplikatwn dla kolorów światła i oiektu). Oiekt jest czerwon, ponieważ oświetlon iałm światłem odija tlko składową czerwoną, a pozostał zakres widma kolorów jest pochłanian. Oiekt iał, a światło czerwone, jaki kolor zoaczm? Oiekt czerwon, a światło zielone, jaki kolor zoaczm? Oiekt zielono-nieieski, a światło żółte, jaki kolor zoaczm? W rzeczwistości promienie świetlne wielokrotnie odijają się od powierzchni prz każdm odiciu ędąc coraz ardziej pochłanianie. Model oświetlenia gloalnego (gloal illumination) model opisując wielokrotne (w rzeczwistości nieskończenie wiele odić) odicia promieni świetlnch pomiędz powierzchniami oiektów znajdującch się w scenie 3D;efekt kaustczne, zaarwianie jednch powierzchni przez kolor innch; dore render Model oświetlenia lokalnego (local illumination) nie są rane pod uwagę wielokrotne odicia promieni świelnch od powierzchi oiektów ani oliczenia cieni; najprostsze renderer, ilioteki czasu rzeczwistego (OpenGL, DirectX)
Oznaczm: L źródło światła (light), E kamera (ee), D rozproszenie światła na powierzchni oiektu (diffuse), S odicie zwierciadlane na powierzchni oiektu (specular) Rozchodzenie się promieni świetlnch w scenie opiswać możem wrażeniami regularnmi ( TPI ;) ): LE LDE LSE LDDS...E L(D S) * E promień świetln wchodząc ze źródła dociera ezpośrednio do oserwatora promień świetln wchodząc ze źródła dociera do powierzchni na której jest ropraszan i oserwuje to kamera promień świetln jest odijan zwierciadlanie od powierzchni oiektu w kierunku oserwatora promień świetln jest odijan wielokrotnie od kolejnch powierzchni, zanim zaoserwuje go kamera Standardow model realizuje wrażenie L(D S)E (local illumination) Model L(D S) * E realizuje renderowanie fotorealistczne (gloal illumination) ależ wskazać na rsunku piksele, którch kolor są określane na podstawie ścieżek: LE LDE LSE LDDE LDSE LSDE
Metoda śledzenia promieni (RaTracing) RaTracing to najprostsz z algortmów renderującch. Załóżm, że oraz wnikow jest wcinkiem płaszczzn ustawionm prostopadle do kierunku patrzenia kamer. Wted każd piksel orazu można przedstawić jako punkt leżąc na płaszczźnie orazu, określon nie jako współrzędne piksela D, lecz jako punkt przestrzeni 3D, w której znajdują się wszstkie oiekt, światła i kamera. A oliczć kolor piksela o współrzędnch ekranowch X,Y należ wkonać następujące operacje:. W punkcie X ekr, Y ekr, Z ekr na płaszczźnie rzutowania wznaczć oraz piksela X,Y umieszczonego na płaszczźnie ekranu. Oliczć równanie promienia pierwotnego R wchodzącego z ogniskowej kamer i przechodzącego przez oliczan piksel 3. Znaleźć punkt przecięcia promienia pierwotnego R ze wszstkimi oiektami na scenie, a dokładnie mówiąc ze wszstkimi ściankami należącmi do powierzchni oiektów 4. Dla każdej powierzchni określić, cz skierowana jest ona przodem do kamer. Jeśli nie, należ ją odrzucić i nie rać pod uwagę 5. Jeśli promień pierwotn nie przecina się z żadnm oiektem, należ przpisać pikselowi kolor tła i przejść do następnego piksela 6. Z powierzchni, które przecina promień pierwotn, znaleźć leżącą najliżej kamer 7. Jeśli na oiekt nałożona jest tekstura, to na podstawie tekstur i współrzędnch jej mapowania (u,v) należ porać z tekstur kolor odpowiadając punktowi przecięcia. W przeciwnm razie jako kolor podstawow należ przjąć kolor przpisan całej powierzchni 8. Wgenerować promienie świetlne L wchodzące z punktu przecięcia promienia pierwotnego R z płaszczzną w kierunku źródeł światła 9. Sprawdzić przecięcia promieni świetlnch (wchodzącch ze źródeł światła w kierunku punktu przecięcia promienia pierwotnego z płaszczzną) z innmi powierzchniami skierowanmi przodem do źródeł światła (oliczanie cieni) 0. a podstawie promieni świetlnch nie przecinającch się z żadnmi powierzchniami skierowanmi przodem do źródeł światła należ korzstając z równania oświetlenia oliczć natężenie i kolor światła w punkcie przecięcia
z punkt przecięcia prosta-płaszczzna leż wewnątrz danego trójkąta? Współrzędne arcentrczne P c0p0 cp cp c0 c c wkorzstujem do zadania cz uzskan punkt przecięcia prosta-płaszczzna leż wewnątrz trójkąta. P leż wewnątrz trójkąta jeżeli c > 0, c > 0 i c + c < ( P P0 ) ( P P0 ) c ( P P ) ( P P ) c 0 0 ( P P0 ) ( P P0 ) ( P P ) ( P P ) c c c 0 0 0 Oliczanie cieni ekran oserwator Stosując wran model oświetlenia (np. Gourauda, Phonga) któr wkorzstuje informacje o: wektorze normalnm do powierzchni w punkcie w którm przecina ją promień pierwotn R, rodzaju źródła światła i jego odległości od tego punktu, olicza się jasność punktu. Jeśli oiekt jest przezroczst lu zwierciadlan to z punktu przecięcia wpuszczane są dodatkowe (rekurswne) promienie. Są to promienie załamane i promienie odite. A wliczć kolor takiego piksela, przetwarza się drzewo promieni rekurswnch.
Konstrukcja drzewa promieni dla promienia pierwotnego przecinającego oiekt odijające i załamujące promienie świetlne: Dla każdego promienia R można przspieszć oliczenia, określając jakie oiekt potencjalnie może on przeciąć (np. alg. podziału przestrzennego, alg. drzewa inarnego podziału przestrzeni BSP). Zanim zaczniem testować przecięcia promienia pierwotnego należ dążć do odrzucenia jak największej ilości oiektów, co do którch wiem, że ten promień ich nie przetnie. Metoda śledzenia promieni, mimo swoich zalet (prosta implementacja, szkość działania), nie jest idealnm sposoem tworzenia fotorealistcznch orazów. Przede wszstkim słao radzi soie ze światłem rozproszonm odijanm od powierzchni oiektów i z modelowaniem ardziej skomplikowanch źródeł światła. Efektem tego są ardzo ostre, nierealistcznie wglądające krawędzie cieni. Istnieją inne ardziej zaawansowane algortm, które stosowane samodzielnie lu razem z metodą śledzenia promieni pozwalają zwiększć realizm generowanch orazów. Są to metoda ilansu energetcznego (Radiosit), metoda fotonowa (Photon Map) i metoda Forward Ratracing. Metod te realizują model gloal illumination.
Modele oświetlenia, rodzaje powierzchni, równania oświetlenia Materiał posiadają trz podstawowe współcznniki odpowiedzialne za cieniowanie ich powierzchni: światło otoczenia (amient light) wszstkie ścian oiektów są jednakowo oświetlone niezależnie od ich położenia światło rozproszenia (diffuse light) światło po dotarciu do powierzchni oiektu, ulega rozproszeniu na nierównej (matowej) powierzchni światło rozłsku (specular light) światło po dotarciu do powierzchni łszczącch oiektu odija się od nich tworząc wiązkę równoległą (rozłsk światła) Równanie oświetlenia dla światła otoczenia (amient) = k a a m kolor światła oditego a kolor światła otoczenia k a współcznnik odicia światła otoczenia (0) m kolor materiału Równanie oświetlenia dla odicia światła rozproszonego (diffuse) powierzchnie matowe = k d d m cos( ) kolor światła oditego p kolor źródła światła k d współcznnik odicia światła rozproszonego (0) Ν L m kolor materiału kąt pomiędz wektorem normalnm do powierzchni, a wektorem wskazującm światło (-90 o 90 o ) R Równanie oświetlenia z uwzględnieniem tłumienia energii źródła światła = f t k d d m cos( ) f t współcznnik tłumienia źródła światła f t = d d lu f t = d lu f t = d d odległość źródła światła od punktu dla którego wliczane jest oświetlenie Równanie oświetlenia dla odicia rozłsku (specular) powierzchnie łszczące = k s s m cos n ( ) kolor światła oditego p kolor źródła światła k s współcznnik odicia światła rozłsku (0) s kolor materiału dla światła rozłsku Ν L n wielkość rozłsku () M kąt pomiędz wektorem wskazującm kamerę, a wektorem smetrcznm (względem normalnej) do R wektora wskazującego światło
amient diffuse amient+diffuse specular n k s cos(n) cos 3 (n) cos 0 (n) cos 300 (n)
Podstawowe rodzaje świateł
Modelowanie przezroczstości i odić zwierciadlanch. Przezroczstość ez załamań = (-k t ) a + k t kolor światła oditego k t współcznnik przezroczstości (0) a kolor wliczon z równania oświetlenia dla oiektu L L (przezroczstego) Ν kolor wliczon z równania oświetlenia dla oiektu R Ν. Odicie zwierciadlane (j/w) k t współcznnik odicia (0) R L L Ν Ν 3. Przezroczstość z tłumieniem zależnm od kąta padania promienia pierwotnego k t =() n (k t min - k t max ) / n + k t max k t min k t max n minimalna przezroczstość maksmalna przezroczstość kąt pomiędz wektorem przeciwnm do promienia pierwotnego a normalną do powierzchni współcznnik modelując gruość szkła (większe różnice w tłumieniu przezroczstości dla ścian równoległch i prostopadłch do promienia pierwotnego) n=,3,4,... n
4. Przezroczstość z załamaniem Prawo Snella zależność międz kątem padania, a kątem załamania zależ od gęstości stkającch się środowisk określonch współcznnikami załamania światła dla materiałów i sin( θ ) η sin( θ ) η R θ η η θ T ow wektor kierunkow dla promienia załamanego oliczam z zależności: T λ R λ R λ R gdzie: η λ η sin( θ sin( θ ) ) η, η współcznniki załamania światła dla środowisk i R wektor określając promień padając pierwotn jednostkow wektor normaln do powierzchni
Modele cieniowania powierzchni oiektów cieniowanie płaskie cieniowanie interpolowane. ieniowanie płaskie (cieniowanie stałą wartością) Przed wliczaniem cieniowania interpolowanego długości wektorów normalnch do płaszczzn muszą ć znormalizowane do wartości Rodzaje cieniowania interpolowanego Gourauda Phonga
. Model Gourauda cieniowania powierzchni oiektu (cieniowanie z interpolacją arw) k i V k k k p a 3 p 3 a p a p x x x x 3. Model Phonga cieniowania powierzchni oiektu (cieniowanie z interpolacją wektora normalnego) p a 3 p 3 a p a p x x x x
Błędne cieniowanie cieniowanie płaskie cieniowanie z interpolacją iepoprawne zwrot normalnch
Smulowanie wpukłości na płaskich wielokątach Mapowanie wpukłości (ang. ump mapping) Wektor normalne wznaczane na podstawie geometrii powierzchni oiektu zastępujem, wektorami normalnmi wznaczanmi na podstawie jasności itmap w odcieniach szarości (lu odcieniach arw przeliczanch na odcienie szarości). Jaśniej to wżej, a ciemniej to niżej (lu odwrotnie). ez mapowania wpukłości z mapowaniem wpukłości Przeliczanie map wsokości na kierunek wektora normalnego: h[i,j] wsokość w punkcie (i,j) Wektor normaln w punkcie (i,j): x = h[i+,j]-h[i-,j] = h[i,j+]-h[i,j-] z = jest stałą ( 0), regulującą skalę wpukłości wektor =[ x,, z ] normalizujem Mapowanie normalnch (ang. normal mapping) Technika mapowania normalnch to rozszerzenie techniki mapowania wpukłości. W technice tej wkorzstujem itmap RGB, zamiast itmap w odcieniach szarości. Każda z trzech składowch koloru map RGB, odpowiada jednej składowej wektora normalnego danego piksela.
Przeliczanie składowch koloru na kierunek wektora normalnego: Red: 0 55 to X: - Green: 0 55 to Y: - Blue: 8 55 to Z: 0 - Mapa normalnch jest gradientem map wsokości.
Przspieszanie oliczeń w metodzie RaTracing zas renderowania itmap w metodzie śledzenia promieni zależ od: licz promieni pierwotnch, czli od licz wliczanch pikseli licz oiektów złożoności oiektów czli licz ścian z którch są skonstruowane (testowanie przecięć prosta-trójkąt) rodzaju materiałów (oiekt przezroczste i zwierciadlane wmuszają oliczenia promieni wtórnch) Z powższego wnika, iż ardzo istotnm jest redukowanie ilości rozważanch testów przecięć Sposo przspieszania oliczeń w metodzie RaTracing: Brł otaczające oiekt są otaczane prostmi do sprawdzenia testu przecięcia rłami (sfera, sześcian). Jeżeli promień nie przecina rł otaczającej, to na pewno nie przecina żadnej ze ścian zawartego w niej oiektu Podział hierarchiczn przestrzeni na grup oiektów model scen jest reprezentowan przez strukturę drzewiastą Drzewa ósemkowe Konstrukcja drzewa ósemkowego polega na otoczeniu scen prostopadłościanem, któr dzielon jest na osiem mniejszch prostopadłościanów, a każd z tch prostopadłościanów znowu na osiem, itd. Drzewa kd
Podział przestrzeni przez drzewo kd dla poziomu podziału wnoszącego 3. Pierwsz podział (czerwon) dzieli prostopadłościan na dwie części. Każda z tch części jest następnie dzielona na kolejne dwie części (zielone). Ostatecznie każda z części zielonch jest dzielona jeszcze na dwie części (nieieskie). Drzewa BSP (inar space partitioning) Binar Space Partitioning (BSP) jest algortmem oliczania widoczności na podstawie sortowania oiektów 3D w drzewo inarne. BSP jest algortmem ardzo szkim i często stosowanm, szczególnie w grach komputerowch. Wadą BSP jest nieumiejętn podział otwartego świata 3D, dlatego jest zwkle wkorzstwan dla zamkniętch oszarów. Dla otwartch przestrzeni lepszm rozwiązaniem jest użcie drzewa ósemkowego.