Kinetix

"Aki másnak felbontás...!"


  • Gabo
    #5824
    Skacok! Úgy látom itt-ott kavarodnak a dolgok a fejekben világítás ügyileg.
    A kezdetekben a számítógépes grafikában csak direkt megvilágítás létezett. Tehát a tárgyak azon része, amely közvetlenül kapott fényt látszott, a megvilágítás nélküli oldala viszont teljesen sötét maradt. A valóságban ilyen legfeljebb a világűrben fordulhat elő. Normál esetben a fény nem csak egyenesen a fényforrásból érkezik, hanem a különféle felületekről is visszaverődik, szóródik. Így a meg nem világított felületek is kapnak némi szórt, indirekt megvilágítást (IL=Indirect Illumination). Ezért vezették be az ambien light-ot. Ez lényegében csak egy rossz próbálkozás volt. Használatával a jelenet kifakul, a színek elvesztik telítettségüket. Soha ne használjátok! Helyette jobb eredményt lehet elérni néhány jól elhelyezett segéd fényforrással.
    A gépek teljesítményének növekedésével arányosan lehetővé vált a globális megvilágítási rendszerek (GI=Global Illumination) használata. Ilyen rendszer a radiosity és a raytrace rendszereknél használt photon mapping, quasi montecarlo raytracing elméletére épülő számítások is. A kettő között a megközelítés módjában van alapvető különbség.
    A radiosity a fényt energiaként kezeli. Vannak olyan felületek, amik kibocsátják és vannak olyanok, amik elnyelik és ehhez hozzá csapják az energia megmaradás törvényét. Mivel pontos fizikai számításokon alapul a rendszer, ezért használják leginkább építészeti és látványtervező rendszereknél. (Az 5-ös Max-ba a 3DS Viz-ből lett átemelve.) Itt biztos lehetsz abban, hogy a tervezésnél kiszámított kép a valóságban is szinte teljes egészében ugyan úgy fog kinézni. Ez a rendszer viszont nem tudja a fénytörés és tükröződés jelenségét jól lekezelni. Első sorban zárt terek esetében lehet jól használni.
    Raytrace rendszereknél úgynevezett két irányú sugárkövetést végeznek (bi directional raytracing). Itt a fény hullám és sugár jellegét veszik figyelembe. Normál esetben a jelenetet csak a kamera irányából tapogatják le, de itt a fényforrások felöl nézve is elvégzik ezt. A fényforrás irányából kilőnek egy virtuális fotont és ennek az útvonalát követik egy meghatározott ideig. Ha elér egy felületet akkor többé-kevésbbé véletlen szerűen kilőnek egy újabb fotont. (Így érik el a fény szóródásának szimulálását.) Teszik ezt mindaddig, amíg el nem érik a beállított limiteket (pattanások száma stb.). Ennek eredményeként készül el a jelenet foton térképe (photon mapping). Értelem szerűen raytrace esetében se a tükröződő, se a fénytörő felületek kezelése nem okoz gondot. A photon mapping lehetővé teszi a visszatükröződő fény szimulálását és az így létrejövő fényfoltok kiszámítását is (caustic). Valamint le tudja kezelni a fény útját egy test belsejében is, így a felszín alatti fény szóródását (SSS=Sub Surface Scatering) is meg tudja jeleníteni.
    Az egyes renderelők között csak a felhasznált számítások, a közelítő megoldások, a sebesség és a pontosság terén van különbség.

    Szóval ha egy render program a fény szóródását, a felületek színeinek egymásra hatását valamilyen szinten kezeli, akkor már lehet globális megvilágításról beszélni. Hogy az adott rendszerben ezt hogy nevezik az már teljesen mindegy. (Light tracer, Radiosity, Final Gatherin stb.)
    A GI tehát magába foglalja többek között az indirekt megvilágítást is.