6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése 6.2. Térbeli alakzatok képe 6.3. Térbeli képelemek és modell-adatszerkezetek 6.4. Képelemek összeállítása, leképezés és vágás ( jórészt a 3. fejezet megfelelő részeit idézik föl.) 6.5. Láthatóság, takarás 6.6. A fénysugár-követési módszer 6.7. Árnyalás és megvilágítás: a képpontok színe 6.8. Irodalom 6.9. Egyebek
6.7. Árnyalás és megvilágítás: a képpontok színe Adatszerkezet: színtér: testek listája, test: lapok (felület-elemek) listája lap:csúcspontok, normális, sík-egyenlet felületi jellemzők (szín, textúra) doboz, rendezés, térfelosztás Z-puffer, vagy FSK után ismert: foreach {u,v} képpontban: az ott látott lap (mutató) {x,y,z} (tárgytérben) Az árnyalás feladata: C(u,v) = {r,g,b}
Árnyalás és megvilágítás Színezés: a legegyszerűbb esetben minden lapot a tárolt {r,g,b}szín-adatai szerint festünk be Árnyalás (shading): színárnyalatos kép a felületi pontokat megvilágításuk és tárolt fény- visszaverési tényezők szerint festjük be (nem: árnyékolás = shadowing) Megvilágítási modell (illumination model): a fény fizikai tulajdonságainak matematikai modellje; erős közelítések.
Emlékeztető: egy kis fénytan A fény elektromágneses hullám útján (terjedő energia) Látható fény: 380 760 nm (n = 1/ ) 760 nm : infra vörös, 380 nm: ultraibolya (A fény kettős természete: egyes jelenségekben részecske természetű; fotonok) A legtöbb fény: keverék-fény; spektrum: a fény energiájának eloszlása szerint A látható színek érzete (majdnem mindé) előállítható három alapszín keverékével; pl. {r,g,b} Modellünk közelítése: a fényt három összetevő erősségével adjuk meg, és e három hatását egymástól függetlennek tételezzük föl.
Fényforrások Egy fényforrás erőssége: (a) az időegység alatt kisugárzott energia irányfüggő (b) adott irányban: az időegység alatt, egységnyi térszögben kisugárzott energia Modellünkben: minden irányban egyformának feltételezzük, az L pontszerű ff megadása: helye vagy iránya a térben, I L = {r L,g L,b L }; a három összetevő erőssége Alakos fényforrások (pl. fénycső): feldarabolás véges részekre és közepén pontszerű ff.
Egy felületi pontban … A felület (egy pontjában a) megvilágítás erőssége: az időegység alatt, egységnyi felületre eső energia Egy pontban az L ff által nyert megvilágítás: I fL = I L cos = I L (N 0 L 0 ) A pontban látható fény eredete: fény kibocsátás (emisszió) fény visszaverés (reflexió) fény áteresztés (transzmisszió) (és fény elnyelés) A fénytörés (Snelius-Descartes) törvénye: sin / sin = n 1 /n 2 ritkább közegből sűrűbbe: <
A fény visszaverődése Az ideális fényvisszaverődés törvénye: - „beesési szög = visszaverődési szög”: (N 0 L 0 ) = (N 0 S 0 ) - és N 0, L 0, S 0 egy síkban vannak A „tökéletes tükör” Beeső energia = visszavert energia + elnyelt energia: I vL = k v I fL ; k v < 1; A felület k v visszaverési tényezője –tól függ. Modellünkben: k v = (k vr, k vg, k vb ) és I vL = (r vL,g vL,b vL ) = k v I fL = (k vr r L, k vg g L, k vb b L )
Megvilágítási modellek Lokális megvilágítási modell: egy-egy felületi pontban a többitől függetlenül vizsgáljuk a fény visszaverődését Globális megvilágítási modell: egy zárt térrészben vizsgáljuk a fényjelenségeket Az utóbbi „drága” (l. pl. Szirmay-Kalos könyve) Mi csak lokális megvilágítási modellel …
Egy lokális megvilágítási modell A felületek „nem tökéletesek” Modellünkben egy képpont színe: a térből egy képponton át a szemünkbe jutó fény: C = C L + C ar + C Lr a fényforrások közvetlenül látott fénye, + egy térben elosztott, szórt fény visszaverődése + a fényforrások fényének visszaverődése Egy felület jellemző adatai: k a = {k ar, k ag, k ab } ambiens visszaverési tényező, k d = {k dr, k dg, k db } szórt visszaverési tényező, k s és n: tükrös visszaverési tényező és kitevő k t = {k tr,k tg,k tb } és n l fény áteresztési tényező és törésmutató
A térben elosztott fény visszaverődése Elosztott (körülvevő, szórt, ambiens) fény (ambiens = körülvevő) Ködös napon látható fényforrás nélkül is látunk Feltételezés: minden irányban egyenlő erősségű minden irányban egyformán verődik vissza (a szembe is) Visszaverődésének modellje: C ar = k a I a = {k ar r a, k ag g a, k ab b a } Szerepe: a fényforrások számolt fényvisszaverődésének korrekciója Nélküle: „villanófényes fénykép”
fényforrások fényének visszaverődése Nincs „tökéletes felület” Modellünkben: minden felület kétféleképpen ver vissza: a fényforrások fényének szórt visszaverése a fényforrások fényének tükrös visszaverése (a kettő együtt < mint a beeső fény)
Szórt (diffúz) fény-visszaverés A tökéletesen „matt” felület a beeső fényt minden irányban egyformán veri vissza C dL = k d I Lf = k d I L (N 0 L 0 ) = = (k dr r L (N 0 L 0 ), k dg g L (N 0 L 0 ), k db b L (N 0 L 0 ))
Tükrös (specular) fény-visszverődés k s : tükrös visszaverési tényező Az L irányból jövő fény legerősebben az S irányban verődik vissza Ettől távolodva fokozatosan csökken; cos n ( )-val modellezve; az S és E (szem irány) szöge C sL = k s I Lf cos n ( ) = = k s I L (N 0 L 0 ) (E 0 S 0 ) = {k sr r L (N 0 L 0 ) (E 0 S 0 ), … }
Összefoglalva Lokális megvilágítási modellünkben (egyszerűsítések!) a képernyő egy pontjában látott fény (szín): C = C a + L [C dL +C sL ] = = k a I a + L [(k d +k s cos n (E 0 S 0 )) I L (N 0 L 0 )] = {…}
Gyorsítások A színt minden képpontban meg kell határozni! Ha a fényforrás a végtelenben van (Nap), akkor iránya L, és egy síklapon belül (N 0 L 0 ) állandó Jámbor csalás: a nézőpont is a végtelenben; E 0 is állandó „orvosi fejtükör”: L és E megegyeznek cos = E 0 R 0 helyett = N 0.H 0 ; H=(L+E)/2 irányú egységvektor A csúcspontokban számított értékek interpolációja (folyt)
Interpoláció síklapokon Görbült felület közelítése sokszögekkel Számított N i vektor minden csúcsban a lapok normálisának súlyozott átlaga Gouraud- interpoláció: a csúcsokban számolt szín interpolációja az éleken, és a pásztákon Phong-interpoláció (lassabb, de szebb): az N vektor interpolációja az éleken és a pásztákon, a szín kiszámítása minden képpontban.
Gouraud- árnyalás: a szín interpolációja
Phong-árnyalás: N interpolációja
Ez csak durva közelítés Továbbiak: levegő perspektíva alakos fényforrások globális megvilágítási modell stb.