GLOBAL ILLUMINATION EFFECTS WITH SAMPLED GEOMETRY (Geometria mintavételezést használó globális illuminációs eljárások) Tézisfüzet Umenhoffer Tamás Irányítástechnika és Informatika Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem témavezető: Dr. Szirmay-Kalos László, MTA doktora Irányítástechnika és Informatika Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 2009. szeptember 30.
Témavázlat Kutatási terület és célkitűzések A számítógépes grafika feladata hogy a képernyő pontjain egy képet jelenítsen meg. Ezen belül a fotorealisztikus képszintézis olyan képek előállítására törekszik, melyek a szemlélőben a valószínűség hatását keltik, a képet nézve elhisszük, hogy annak tartalma akár igaz is lehet. A virtuális valóság alkalmazásokban a cél a valóság látszatának keltése. Ennek fontos eszköze maga a képi megjelenítés: minél valószerűbb a kép, annál inkább sikerülhet beleélni magunkat. A valósághűség eléréséhez szükség van arra is, hogy a felhasználó képes legyen hatni a virtuális környezetre, az alkalmazásnak azonnal kell reagálnia a felhasználó interakcióira. Ez valós idejű megjelenítést igényel, azaz a folyamatos mozgás elérése érdekében másodpercenként minimum 15 képet kell számítani. A valósághű és a valós idejű képszintézis azonban egymással nehezen összeegyeztethető, mivel a valósághű képek előállításának számításigénye nem teszi lehetővé a valós idejű sebességet. A képernyő minden pontjára melyek száma gyakran eléri a milliós nagyságrendet meg kell határozni a beeső fény intenzitását a reprezentatív hullámhosszokon. Ehhez minden képpontra meg kell oldani egy integrál egyenletet az ún. árnyalási egyenletet. Az árnyalási egyenlet megoldása különböző anyag modellek esetén más-más módszereket igényelhet. Tökéletesen törő és tükröző felületek esetén a sugárkövetést, diffúz anyagok esetén a radiozitás módszerét szokták alkalmazni. Vannak módszerek, melyek általános anyag modellekre is működnek, pl. Monte-Carlo, kvázi Monte-Carlo módszerek, sztochasztikus iterációs módszerek. Ezeknek a módszereknek a számításigénye nem teszi lehetővé az interaktív megjelenítést. Az árnyalási egyenletet valós időben megoldani csak egyszerűsítések árán lehet. A grafikus hardvereken is egy igen erős egyszerűsítés valósul meg, melyet lokális illuminációs modellnek nevezünk. E modell esetében csak a fényforrásokból érkező direkt megvilágítást vesszük figyelembe. Fotorealisztikus és fizikailag pontos megjelenítéshez azonban nem tekinthetünk el az indirekt megvilágításoktól, amikoris az árnyalt pont sugársűrűségét az összes többi felületi pont befolyásolja. Az ezen a megközelítésen alapuló modelleket globális illuminációs modelleknek nevezzük. A többszörös fényutak követéséhez szükség van a virtuális világ geometriájának tárolására. A GPU-n megvalósított globális illuminációs eljárásoknak speciális igényi vannak ezen tárolással szemben: a grafikus hardver által jól támogatottnak, tömörnek és jól kereshetőnek kell lennie. Mivel a lokális paramétereken kívül a GPU csak korlátozott számú regisztert és textúrát olvashat, a geometriát is ilyen formában kell tárolni. A színtér geometriájának mintavételezése és textúrákban való tárolása nem új ötlet, a számítógépes grafikában régóta használják például felületi részletek tárolására, árnyékok, tükröződések, törések számítására, statikus megvilágítás tárolására. Azonban továbbra is nagy lehetőségek rejlenek ebben a megközelítésben. Újabb és újabb innovatív algoritmusok születnek melyek egy adott árnyalási jelenség számítására képesek. Munkámban olyan új 2
geometria mintavételezésen alapuló globális illuminációs eljárásokat mutat be melyek a valós világban előforduló fényjelenségek széles skáláját képesek szimulálni valós időben. Diffúz vagy mérsékelten spekuláris anyag modellek esetén a leggyakrabban használt módszer a környezeti térképek alkalmazása. Ezek egy előfeldolgozási lépésben a visszaverődés függvény szerint konvolvált környezeti térképet használnak. A módszer hátránya, hogy a konvolúció nagy számítási igénye miatt nem végezhető el minden képkocka számításakor, így mozgó jelenet megjelenítésére alkalmatlan, továbbá itt is igaz, hogy csak az objektum középpontjában ad megfelelő eredményt. Bemutattam egy olyan eljárást, amely környezeti távolságtérkép és közelítő területi fényforrások alkalmazásával alkalmas diffúz szórt megvilágítás megjelenítésére. A módszer robosztusabb a korábbi hasonló elven alapuló megoldásoknál, és valós idejű [I4]. Az indirekt megvilágítást gyakran közelítik ún. környezeti takarás módszerekkel. Ennek egy, az utóbbi időben igen elterjedt valós idejű képernyőtérbeli megvalósításához javasoltam új formulát, mely az eredeti algoritmus számítási idejét megőrizve sokkal pontosabb eredményekre képes [F4]. A tökéletesen törő és tükröző felületek megjelentésére is környezeti térképek használata a legelterjedtebb. Ez a megoldás azonban csak az objektum középpontjában ad pontos eredményt, többszörös visszaverődések és törések számítására nem képes, így az objektum csak a környezetét képes visszatükrözni, önmagát nem. Olyan algoritmust vezettem be, mely több rétegű környezeti szín- és távolságtérképekkel dolgozva, biztonságos keresési algoritmust használva képes pontos, akár többszörös visszaverődések és törések számítására interaktív sebességgel [D2]. A törő és tükröződő felületek által keltelt kausztikus jelenségek megjelenítésére kidolgoztam egy háromszögeken alapuló technikát, ami élesebb mintázatok visszaadására képes, a klasszikus megoldásokhoz képest, azonban nem igényel megnövekedett számítási időt. Az új módszer további nagy előnye még, hogy nincs szükség színtérfüggő paraméterek beállítására[i5, J2]. Munkám jelentős részében a fényelnyelő és szóró anyagokkal, azok modellezésével, megjelenítésével foglalkoztam. A térfogati árnyalási egyenlet megoldásához szükség van a fényszóró közeg jellemzőinek tárolására minden pontban. Ezen jellemzők tárolására több megközelítés is ismert. A két legelterjedtebb megoldás a részecskerendszerek és a háromdimenziós sűrűség mezők. A részecske rendszer a közeg diszkrét reprezentációja, mely során feltételezzük, hogy a fény-anyag interakció csak a megkülönböztetett pontokban, az un. részecskéken történhet. Ezek a pontok időben mozoghatnak, tulajdonságaikat változtathatják, a pontok száma nőhet, illetve csökkenhet, azaz részecskék születhetnek, és tűnhetnek el. Ezzel a módszerrel könnyedén modellezhetőek olyan jelenségek, mint a füstök, robbanások, hóesés, eső stb. Arra törekedtem, hogy olyan algoritmusokat dolgozzak ki, melyek képesek a részecskerendszerekkel leírt jelenségeket valós időben, valósághűen, fényelnyelést, és akár többszörös szóródást is figyelembe véve megjeleníteni. A kidolgozott algoritmusoknak megoldást kellett találniuk a részecske rendszerek tipikus hibáira is. A részecskerendszerek tipikus megjelenítési módja az ún. plakátok használata, mely során minden részecskét egy síklapra felfeszített képpel helyettesítünk. A sík hatást elkerülendő, ezek a lapok mindig a kamera felé fordulnak. A módszer nagy hibája ebből a sík természetből fakad, mivel a lapoknak valódi háromdimenziós kiterjedése nincs, a lapok és más háromdimenziós objektumok találkozási pontjai élesen kirajzolódnak, vágási hibát okoznak. Szintén a sík természet miatt ezek a helyettesítő képek a kamera első vágósíkján áthaladva hirtelen tűnnek el, vagy jelennek meg. Ezek a jelenségek különösen szembetűnőek, ha a plakátok térfogati jelenségeket írnak le, melyekre nem jellemzőek ezek a hirtelen változások. Bemutattam, hogy ezeket a hibákat ki lehet küszöbölni, ha az egyes részecskék helyére 3
továbbra is síklapokat rajzolunk,de a megjelenítés során kiterjedt, térfogattal, sűrűséggel rendelkező gömbökként kezeljük őket. Az ilyen megjelenítést gömbszerű plakátoknak neveztem el [D1, I3, J1]. A valószerű megjelenítéshez, a feltűnő hibák kiküszöbölésén túl meg kell oldanunk a térfogati árnyalási egyenletet. Ez egy folyamatosan változó anyag, mozgó fényforrások és kamera esetén meglehetősen nehéz feladat, ezért interaktív megjelenítéshez egyszerűsítésekkel kell élnünk. A legkézenfekvőbb egyszerűsítés a lokális illumináció megközelítéséhez hasonlóan az, ha minden nem közvetlen megvilágításból származó hozzájárulásoktól eltekintünk. Ennél jobb eredményt ad, ha az anyagba a nézeti sugár irányából érkező fényt is figyelembe vesszük, ennek megvalósítását a grafikus hardver is támogatja az ún. alfa-összemosás révén. A különböző anyagok különböző fénykibocsátási, fényelnyelési és szórási tulajdonságokkal rendelkeznek, amit figyelembe kell venni a számításoknál. A szakirodalomban található valószerűség-sűrűségfüggvények és megjelenítési módszerek tanulmányozása után olyan összefoglaló leírást adtam meg, mellyel különböző tulajdonságú anyagok interaktív megjelenítésére van lehetőség [D1, I3, J1]. Részecskerendszerekkel csak akkor érhető el igazán jó minőségű kép, ha elegendően nagy a részecskék száma, ami viszont többlet tárolási, és természetesen számítási igényt jelent. Kihasználhatjuk viszont a természetben előforduló önhasonlóságot, és a részecske rendszert felépíthetjük sok azonos építőelemből. Erre kidolgozott módszer található a szakirodalomban, mely általánosítható térfogati jelenségekre is. Bemutattam egy olyan algoritmust, amely ezt a módszert kihasználva valós idejű megjelenítését teszi lehetővé számos, a természetben előforduló térfogati jelenségek, a fényelnyelés és többszörös előre történő szórás figyelembe vételével [I2]. A természetben előforduló fényszóródási jelenségek szintéziséhez szükség van az árnyalási egyenletben szereplő integrál kiértékeléséhez teszőleges irányú szóródások figyelembe vételével. Bemutattam egy olyan iterációs algoritmust, mely a térfogati árnyalási egyenletben szereplő integrált, kvadratúra módszerrel oldja meg. A módszer gyorsaságát az előfeldolgozási lépésben számolt fényutak újrafelhasználásának köszönheti, és segítségével tetszőleges valószerűségsűrűségfüggvényű, akár inhomogén anyagon belüli többszörös szóródás számítható valós időben [I1]. Alkalmazott módszerek Az árnyalási egyenlet megoldására számtalan módszer született már, melyek különböző kompromisszumokat kötnek hol a valósághűség, hol a valósidejűség rovására. Ezek a módszerek a szakirodalomban részletesen publikáltak, mérési eredményekkel és képekkel reprezentáltak, melyekre munkám során támaszkodhattam. Létező algoritmusok tanulmányozásából, rendszerezéséből indultam ki, majd kiválasztottam egy-két olyan módszert, amelyről úgy gondoltam jó irányvonalat jelentenek. A kiválasztott algoritmusok egy részében egyszerűsítési lehetőségeket kerestem, ezek többnyire nem valósidejű algoritmusok voltak, melyek a GPU kihasználásával gyorsíthatóaknak tűntek. Más módszerek esetében viszont pont ellenkezőleg jártam el: bővíthetőségi, általánosíthatósági, javíthatósági lehetőséget kerestem. Az új algoritmusokhoz szükséges elmélet és képletek levezetése után következhetett egy példaimplementáció elkészítése. A program elkészítése során felbukkanó nehézségek, az elvártnál lényegesen kisebb teljesítmény, esetleg helytelen működés sokszor megkívánta új megoldási utak keresését, az algoritmus módosítását. Az új algoritmusok hatékonyságára a legmegfelelőbb mérőszám a maximálisan előállítható képkockák száma egy másodperc alatt. A keletkezett kép minőségének eldöntése már nem 4
mindig egyértelmű. Néhány módszer esetén egyértelműen kimutatható az eredmény megfelelősége referencia algoritmusokkal előállított képek segítségével. Máskor azonban csak szubjektív véleményre alapozhatunk. Mivel a kifejlesztett algoritmusoknak elsősorban nem a fizikailag pontos működés volt a feladata, hanem hihető képek előállítása valós időben, nem volt szükséges képi hiba meréseket végezni, még megfelelő referencia képek megléte esetén sem. 5
Új tudományos eredmények 1. téziscsoport: Diffúz anyagok megjelenítése 1.1 tézis: Robusztus diffúz környezeti térkép algoritmus A környezeti térképeket használó indirekt megvilágítást számító algoritmusok terén javaslatot tettem egy robusztus módszerre. Ha nem csak a tükör, vagy törési irányban kell sugarakat követni, azaz mérsékelten spekuláris vagy diffúz anyag modellel dolgozunk (ami a mindennapi környezetünk tárgyaira általában jellemző), a környezeti térkép nem csak egy texelét, hanem egy részét, vagy akár az egész térképet be kell járnunk egy felületi pont árnyalásához. Ez sajnos nem tehető meg valós időben. Ezért azzal az egyszerűsítéssel kell élnünk, hogy a texeleket csoportokba szervezzük, és ezeket a csoportokat tekintjük a környezet mintáinak. Egy olyan algoritmust dolgoztam ki, ami az eredeti, távolsági információval is rendelkező környezeti térképet lemintavételezve elegendően kevés számú közelítő területi fényforrásokhoz jutunk, melyek már valós időben végiglátogathatóak. Mivel a kapott minták területi poligon fényforrásokat írnak le, a poligon-pont forma faktor alkalmazását javasoltam. A módszerrel professzionális, foton követő algoritmust használó programok által generált képpel összehasonlítható képek érhetőek el valós időben.[i4] 1. ábra. Diffúz indirekt megvilágítás megjelenítése. 6
1.2 tézis: Térfogati integrál képtérbeli környezeti takarás algoritmushoz A grafikus kártyák által támogatott lokális illuminációs modell csak egyszeres fényutakat követ, teljesen elhanyagolva a többszörös visszaverődés útján a kamerába érkező fénysugarakat. Ez jelentős fényveszteséget eredményez, a látott kép sötétebb lesz az elvártnál, és a fényforrások által közvetlen megvilágítást nem kapó felületelemek teljesen sötétek leszek. A hiányzó fénymennyiség pótlására környezeti (ambiens) fényforrást szoktak használni ami a színtér minden pontjában minden irányban azonos megvilágítást biztosít. Mivel az ambiens megvilágítás teljesen elhanyagolja a geometriát, síkszerű hatást kelt. Ezen tudunk javítani a környezeti takarás (ambient occlusion) módszer alkalmazásával. Ez a módszer nem oldja meg a teljes árnyalási egyenletet, csupán az árnyalt pont környezetét veszi figyelembe, és a felületi pont takartságának vagy nyitottságának mértékét számítja ki. Ez a nyitottság az égbolt láthatósági függvényének integrálját jelenti az illuminációs félgömbön, és az ambiens fény intenzitását súlyozzuk vele, megtörve ezzel a síkszerű hatást és jobban kihangsúlyozva a geometriát. A képernyőtérbeli környezeti takarás módszerhez javasoltam egy új integrálási formulát, amely az eredeti irány szerinti integrált térfogati integrállal helyettesíti. Az új formula kisebb szórást eredményez, így pontosabb számítást tesz lehetővé. Az új módszer sokkal simább, zajmentesebb eredményeket produkál azonos mintaszám mellett míg számítási igénye megegyezik a klasszikus módszerével [F3]. 2. ábra. Téfogati integrállal számított környezeti takarás. 7
2. téziscsoport: Spekuláris anyagok megjelenítése 2.1 tézis Környezettérkép alapú többszörös visszaverődés és törés számítás A valós idejű grafikában a tökéletesen törő és tükröző felületek megjelenítésére használt környezeti leképzés módszer az objektum környezetét végtelen távolinak tekinti. Az objektum középpontjából a koordináta tengelyek irányában hat képet készítünk, melyek egy objektum-középpontú, végtelen nagy kocka oldallapjait adják meg. Ezt a hat képet együttesen környezeti kocka térképnek nevezzük (environment cube map). A térkép segítségével bármely a középpontból induló, tetszőleges irányú sugárról eldönthetjük, hogy milyen a környezetből származó sugársűrűséget hordoz. Nem középpontból induló sugarak esetén a térkép használata viszont csak közelítő eredményt ad, a hiba mértéke a középponttól való távolsággal egyenesen arányos. Ezeket a hibákat küszöbölhetjük ki az ún. távolság imposztorok alkalmazásával, ahol is a környezet színe mellett a középponttól való távolságot is eltároljuk, diszkrét mintavételt kapva ezzel a leírandó környezetről. Az így keletkező adatstruktúrában már különböző keresési eljárásokkal megtalálhatjuk tetszőleges sugár metszéspontját a környezettel. Ezt a módszert továbbfejlesztve olyan algoritmust adtam meg, mely több, rétegesen elhelyezett távolság imposztor használatával képes komplex fényutak követésére, lehetővé téve a többszörös visszaverődések és törések számítását is. A többrétegű szerkezet biztosítja a környezet teljesebb mintavételét, a helyes metszéspontok megtalálását pedig egy robusztus, lineáris kereső és húr módszert kombináló keresés segíti. A tükröződések és törések követéséhez a környezetről vett mintáknak a klasszikus távolság imposztorokkal ellentétben felületi, és anyag jellemzőket is tárolniuk kell, úgy mint a felületi normálist, törésmutatót, Fresnel tagot. A módszerrel akár professzionális, sugárkövetési algoritmusokat használó programok által generált képeket megközelítő minőséget is el lehet érni, interaktív vagy akár valós idejű sebességgel [D2]. 3. ábra. Többszörös visszaverődés és törés megjelenítése. 8
2.2 tézis Kausztikus jelenségek megjelenítése háromszögekkel A kausztikus jelenségek tükröző és törő felületek által más felületekre vetett bonyolult és részletes fénymintázatok. Megjelenítésükhöz olyan fényutak követése szükséges, melyek egy fényforrásból indulnak és tükröző vagy törő felületen keresztül diffúz felületre érkeznek. Ezen fényutak előállítására valós időben is lehetőség van valamilyen GPU-n futó sugárkövető algoritmus segítségével. A sugárkövetés végeredménye egy ún. foton találat térkép lesz, mely a fotonok végső pozícióját tartalmazza. A legtöbb GPU-n futó alkalmazás a foton találatok helyére egy félig átlátszó fényfoltot reprezentáló lapocskát helyez. A sok kis lapocska együttesen alakítja ki a végső fénymintázatot. A probléma ezzel a megoldással az, hogy a fényfoltok méretének és intenzitásának helyes megválasztása nagy mértékben függ a színtértől, annak méretétől megvilágításától. A fénylapocskák alkalmazása helyett olyan módszert javasoltam, mely három szomszédos foton találat közé háromszöget feszít, melynek intenzitását a fotonok lokális sűrűségének függvényében adaptívan szabályozza. Az új módszer az eredetivel azonos sebesség mellett felmenti a felhasználót a kausztikus paraméterek kezelése alól [I5, J2]. 4. ábra. Kausztikus jelenségek megjelenítése kausztikus háromszögekkel. 9
3. téziscsoport: Fényszóró közegek megjelenítése 3.1 tézis: Részecskerendszerek modellezése gömbszerű plakátokkal A plakát (billboard) megjelenítésre jellemzőek a hirtelen opacitás vagy láthatóság változás miatt fellépő zavaró hibák, amelyek a plakátok kétdimenziós voltából erednek. Bemutattam, hogy ez kiküszöbölhető, ha a plakátokat kiterjedt, térfogattal, sűrűséggel rendelkező gömböknek tekintjük. Ezt a programozható grafikus hardver teszi lehetővé. A részecskéket továbbra is kamera irányába néző síklapokként jelenítjük meg, viszont a pixelek árnyalása során a részecske pozícióját és sugarát ismerve kiszámítható az a távolság, amit a nézeti sugár az adott részecskét reprezentáló gömb belsejében megtesz. Ez a távolság nagyban függ a színtér objektumaitól is. Ezt úgy tudjuk figyelembe venni, hogy a színteret mintavételezzük a kamera szemszögéből, és eltároljuk a látható felületek kamerától való távolságát. A megtett út ismeretében a plakát valódi opacitása a sűrűség függvényében könnyen számítható. A módszert gömbszerű plakátoknak neveztem el [D1, I3, J1]. 5. ábra. Részecske renderelés klasszikus plakát és gömbszerű plakát megjelenítéssel. A különböző térfogati jelenségek megjelenítéséhez eltérő jellemző tulajdonságaik miatt az árnyalási egyenletet más-más módon érdemes megoldani. Leírtam egy olyan módszert, mellyel valós időben lehet megjeleníteni különböző fény szóró anyagokat egy színtéren belül. Az általam bemutatott példaszíntérben megjelentek az erősen fény emittáló anyagok (tűz), erősen fény elnyelő és gyengén fény szóró anyagok (sűrű füst) és az erősen szóró anyagok is (levegőben kavargó finom porrészecskék) [D1, I3, J1]. A módszer használja a gömbszerű plakátokat és speciális utófeldolgozási lépéseket a valószerű hatás elérése érdekében. 10
6. ábra. Képek tűz és füst animációból. 3.2 tézis: Fény elnyelés és szórás szimulációja hierarchikusan felépített részecskerendszerek esetén Bizonyos természeti jelenségek minőségi megjelenítéséhez nagy számú részecskékre van szükség. A megnövekedett részecskeszám jelentős számítás- és tárolásigény növekedést eredményez. Önhasonló mintázatot mutató jelenségek hatékony modellezésére már léteznek megoldások, melyek általánosíthatóak térfogati jelenségekre is. A részecskerendszert hierarchikusan is felépíthetjük egy kisebb részecskerendszer sokszorosításával: erről a kis rendszerről készítünk egy képet (imposztor képet) a kamera aktuális helyzetéből, és ennek a képnek a másolatait helyezzük el a térben, mint megjelenítendő plakátokat. Bemutattam hogy ez a hierarchikus megközelítés használható a fényelnyelés számításakor. Olyan algoritmust adtam meg, mely 2.5 dimenziós imposztorokat használva a megjelenítendő közeg által elnyelt fény mennyiségét, illetve a fényforrás irányából érkező fotonok többszörös előre irányú szóródását egy segéd adatstruktúrába menti, mely később a megjelenítéskor felhasználható. A módszer hihetően adja vissza a kívánt fényhatásokat valós időben, akár változó megvilágítás, mozgó kamera és animált közeg esetén is. A módszer gyorsaságát annak köszönheti, hogy minden számítás a grafikus hardveren történik, és a kiszámolt segítő adatokat sem kell a rendszermemóriába tölteni, vagy grafikus kártyán belül másolni, mint a korábbi hasonló megoldások esetén. A módszerrel valós időben jelenítettem meg olyan jelenségeket, mint kavargó köd, füst és felhők [I2]. 7. ábra. Felhők megjelenítése hierarchikus részecske rendszerrel, figyelembe véve a fényelnyelést és a többszörös előre irányú szóródást. 11
3.3 tézis: Többszörös szóródás valósidejű számítása részecskerendszer modellek esetén Az anyagon áthaladó fény tetszőleges irányú, többszörös szóródásának számítása meglehetősen időigényes feladat. Nem is létezik még olyan algoritmus mely, valós időben, jelentősebb megkötések nélkül képes volna ezzel a feladattal megbirkózni. A leggyakrabban használt megkötés az, ha az anyag statikus, ugyanis ilyenkor a számítások egy részét átcsoportosíthatjuk egy előfeldolgozási lépésbe. Az általam javasolt algoritmus is él ezzel a lehetőséggel. A módszer olyan fényutak újrahasznosításán alapszik, melyeket egy előfeldolgozási lépésben sugárkötegek segítségével számítunk ki. Az előfeldolgozási lépés végeredménye egy olyan adatstruktúra, amely minden részecskére, előre definiált irányokra megadja, hogy melyik másik részecske látható a kérdéses részecskéből az adott irányban. Az árnyalási egyenletben szereplő integrált iterációs módszerrel oldom meg. Egy iterációs lépésben az előző lépés eredményének felhasználásával minden részecskére, és minden irányra megadjuk a részecske kimeneti radianciáját az adott irányba. Minden lépéssel eggyel tovább lépünk a fényútak mentén. Végső megjelenítéskor a kamera irányához legközelebbi irányra számolt kimeneti radianciát használhatjuk. A módszert sikeresen alkalmazhatjuk bármilyen szóródási valószínűség-sűrűségfüggvényű anyag interaktív megjelenítésére mozgó fényforrások és mozgó kamera esetén. A módszer képes azzal a speciális esettel is megbirkózni, amikor a fényforrás az anyagon belül található. Mivel a teljes számítás a grafikus processzoron megy végbe, valós idejű megjelenítés is lehetséges [I1]. 8. ábra. Felhők megjelenítése többszörös szóródás figyelembe vételével. 12
Az eredmények hasznosítása A bemutatott módszerek a valós világban előforduló komplex fényjelenségek széles skáláját képesek megjeleníteni. Gyakorlatban történő alkalmazásuk lehetőségét bizonyítja, hogy egy széleskörűen használt grafikus motor módosított változatába lettek integrálva. Példa alkalmazásokon keresztül mutattuk be, hogy ezen módszerek együttesen, egymás mellett, akár egymást erősítve is használhatók. Általában elmondható hogy a kidolgozott eljárások, bár a fény-felület kölcsönhatás fizikai modelljéből származtatottak, nem a tökéletesen hű megvalósításra, hanem a hihető látvány rendkívül gyors előállítására születtek. Fő alkalmazási területek közé a valós idejű grafikus alkalmazások tartoznak, úgy mint a számítógépes játékok és virtuális valóság alkalmazások. Egyre inkább megfigyelhető az a jelenség hogy a produkciós (film- és reklámgyártásban használt) grafika és a valós idejű grafika egymáshoz közelít. A valós idejű algoritmusok jól használhatók a produkciós területen is, hiszen -ha más léptékben is- de az idő ott is fontos tényező, továbbá képi minőségük eléri a kb. 10 évvel ezelőtti egészestés animációs filmek minőségét. Ennek példája lehet a gömbszerű plakátok módszere, melyet egy elismert magyar animációs stúdió is felhasznált egyik rövidfilmjének gyártása során. A jövőben számíthatunk arra, hogy egyre több GPU-ra tervezett módszer jelenhet meg a hasonló produkciókban. 13
Publikációk Könyvfejezet szerkesztett könyvben [D1] Umenhoffer Tamás, Szirmay-Kalos László, Szijártó Gábor: Spherical Billboards for Rendering Volumetric Data, in ShaderX 5 : Advanced Rendering Techniques (editor: Wolfgang Engel), Charles River Media, Hingham, Massachusetts, pp. 275-287, 2006. [D2] Umenhoffer Tamás, Gustavo Patow, Szirmay-Kalos László: Robust Multiple Specular Reflections and Refractions, in GPU Gems 3 (editor: Hubert Nguyen), Addison-Wesley Professional, pp. 387-708, 2007. [D3] Tóth Balázs, Szirmay-Kalos László, Umenhoffer Tamás: Efficient Post-Processing with Importance Sampling, in ShaderX 7 : Advanced Rendering Techniques (editor: Wolfgang Engel), Charles River Media, Hingham, Massachusetts, pp. 259-276, 2009. Külföldi, lektorált, idegen nyelvű folyóiratcikkek [F1] Szirmay-Kalos László, Umenhoffer Tamás: Displacement Mapping on the GPU, Computer Graphics Forum (State of the Art Report), pp. 1567-1592, 2007. [F2] Szirmay-Kalos László, Umenhoffer Tamás, Gustavo Patow, Szécsi László, Mateu Sbert: Specular Effects on the GPU - State of the Art, in Computer Graphics Forum 26:(1), 2009. IF: 1.107. (Elfogadva, nyomtatás alatt.) [F3] Szirmay-Kalos László, Umenhoffer Tamás, Tóth Balázs, Szécsi László, Mateu Sbert: Volumetric Ambient Occlusion, in IEEE Compute Graphics and Applications 29:(4), 2009. IF: 1.398. (Elfogadva, nyomtatás alatt.) Külföldi, idegen nyelvű folyóiratcikkek [F4] Umenhoffer Tamás, Szirmay-Kalos László, Szécsi László, Tóth Balázs, Mateu Sbert: Global Illumination in Games with Multi-scale PRT, in Computer Graphics & Geometry 10:(2), pp. 2-24, 2008. Nemzetközi konferencia kiadványában megjelent, lektorált, idegen nyelvű előadás [I1] Szirmay-Kalos László, Mateu Sbert, Umenhoffer Tamás: Real-Time Multiple Scattering in Participating Media with Illumination Networks, Eurographics Symposium on 14
Rendering, pp. 65-68, 2005. [I2] Umenhoffer Tamás, Szirmay-Kalos László: Real-time Rendering of Cloudy Natural Phenomena with Hierarchical Depth Impostors, Proceedings of Eurographics (short papers), pp. 65-68, 2005. [I3] Umenhoffer Tamás, Szirmay-Kalos László, Szijártó Gábor: Spherical Billboards and their Application to Rendering Explosions, Graphics Interface, pp. 57-64, 2006. [I4] Umenhoffer Tamás, Szirmay-Kalos László: Robust Diffuse Final Gathering on the GPU, Proceedings of WSCG (Full papers), 2007. [I5] Umenhoffer Tamás, Gustavo Patow, Szirmay-Kalos László: Caustic Triangles on the GPU, in Proceedings of Computer Graphics International: CGI. Istanbul, Turkey, 2008. pp. 222-228. [I6] Umenhoffer Tamás, Szirmay-Kalos László: Interactive Distributed Fluid Simulation on the GPU, in MIPRO 2008: Grid and Visualization Systems. Opatija, Croatia, 2008. pp. 236-242. [I7] Umenhoffer Tamás, Szirmay-Kalos László, Szécsi László, Tóth Balázs, Mateu Sbert: Partial Multi-Scale Precomputed Radiance Transfer, in Spring Conference on Computer Graphics. Budmerice, Slovakia, 2008. pp. 87-94. [I8] Szirmay-Kalos László, Liktor Gábor, Umenhoffer Tamás, Tóth Balázs: Fast Approximation of Multiple Scattering in Inhomogeneous Participating Media, in Eurographics Short Papers. Munich, Germany, 2009. pp. 53-56. [I9] Szirmay-Kalos László, Liktor Gábor, Umenhoffer Tamás, Tóth Balázs, Shree Kumar, Glenn Lupton: Parallel Solution to the Radiative Transport, in Eurographics Symposium on Parallel Graphics and Visualization. Munich, Germany, 2009. pp. 95-102. [I10] Umenhoffer Tamás, Tóth Balázs, Szirmay-Kalos László: Efficient Methods for Ambient Lighting, in Spring Conference on Computer Graphics. Budmerice, Slovakia, 2009. pp. 99-106. [I11] Tóth Balázs, Umenhoffer Tamás: Real-time Volumetric Lighting in Participating Media, in Eurographics Short Papers. Munich, Germany, 2009. pp. 57-60. [I12] Sikné Lányi Cecília, Tilinger Ádám, Umenhoffer Tamás: Development of a virtual reality navigation test application, ICAI 2004-6th International Conference on Applied Informatics, Eger, Hungary, January 27-31, 2004. Helyi konferencia kiadványában megjelent, lektorált, idegen nyelvű előadás [J1] Umenhoffer Tamás, Szirmay-Kalos László: Rendering fire and smoke with spherical billboards, III. Hungarian Conference on Computer Graphics and Geometry, Budapest, Hungary, pp. 24-29, 2005. [J2] Umenhoffer Tamás, Gustavo Patow, Szirmay-Kalos László: Caustic Triangles on the GPU, in IV. Hungarian Conference on Computer Graphics and Geometry. Budapest, Hungary, 2007. pp. 125-128. 15
[J3] Tóth Balázs, Umenhoffer Tamás: Global Illumination in Games, in IV. Hungarian Conference on Computer Graphics and Geometry. Budapest, Hungary, 2007. pp. 108-116. [J4] Umenhoffer Tamás: : Interactive Distributed Fluid Simulation on the GPU, in IV. Hungarian Conference on Computer Graphics and Geometry. Budapest, Hungary, 2007. pp. 26-32. [J5] Umenhoffer Tamás, Tóth Balázs, Szirmay-Kalos László: An Inexpensive Ambient Lighting Model, in 7th Conference of the Hungarian Association for Image Processing and Pattern Recognition (KEPAF2009). Budapest, Hungary, 2009. pp. 1-9. [J6] Tóth Balázs, Umenhoffer Tamás: Real-time Volumetric Light-shafts in Participating Media, in 7th Conference of Hungarian Association for Image Processing and Pattern Recognition (KEPAF2009). Budapest, Hungary, 2009. pp. 1-6. Helyi részvételű rendezvény kiadványában megjelent, idegen nyelvű előadás [J7] Umenhoffer Tamás, Tilinger Ádám, Sikné Lányi Cecília: Designing and Creating a 3D Display Software, Conference of PHD Students in Computer Science, Szeged, pp. 122, 2004. [J8] Umenhoffer Tamás, Tilinger Ádám, Sikné Lányi Cecília: Developing applications for testing left-handed people in virtual environments, Conference of PHD Students in Computer Science, Szeged, pp. 121, 2004. Helyi konferencia kiadványában megjelent magyar nyelvű előadás [K1] 12. Umenhoffer Tamás, Tilinger Ádám, Síkné Lányi Cecília: Virtuális világok tervezése balkezes felhasználóknak, Multimédia az oktatásban konferencia, Szeged, 2004. május 27-29, 238-243. old. 16
Hivatkozások jegyzéke [D1] Umenhoffer Tamás, Szirmay-Kalos László, Szijártó Gábor: Spherical Billboards for Rendering Volumetric Data, in ShaderX 5 : Advanced Rendering Techniques (editor: Wolfgang Engel), Charles River Media, Hingham, Massachusetts, pp 275-287, 2006. [D1-c1] Aurelio Reis: Per-Pixel Lit, Light Scattering Smoke In: ShaderX5, Charles River Media, 2006. [D1-c2] Mike Krazanowski: A More Accurate Volumetric Particle Rendering Method Using the Pixel Shader, 2008. [D1-c3] Tomas Akenine-Möller et al: Real-Time Rendering, A.K. Peters Ltd, 2008. [D2] Umenhoffer Tamás, Gustavo Patow, Szirmay-Kalos László: Robust Multiple Specular Reflections and Refractions, in GPU Gems 3 (editor: Hubert Nguyen), Addison-Wesley Professional, pp 387-708, 2007. [D2-c1] Chris Wyman: Hierarchical caustic maps In: SI3D 08: Proceedings of the 2008 symposium on Interactive 3D graphics and games, 2008. [D2-c2] Yongjin Kim et al: ACM Transactions Graphics 27: 1-10 (2008) [D2-c3] Tomas Akenine-Möller et al: Real-Time Rendering, A.K. Peters Ltd, 2008. [D2-c4] Lazányi István: Efficient Rendering of Realistic Metals, 2009. [D2-c5] Szécsi László: Instant Radiosity with GPU Photon Tracing and Approximate Indirect Shadows In: ShaderX 7, Course Technology, 2009. [F1] Szirmay-Kalos László, Umenhoffer Tamás: Displacement Mapping on the GPU, Computer Graphics Forum (State of the Art Report), 2007. [F1-c1] Liktor Gábor: Ray tracing implicit surfaces on the GPU In: CESCG 2008 [F1-c2] Szécsi László: Procedural Ocean Waves In: Negyedik Magyar Számítógépes Grafika és Geometria Konferencia, 2007. [F1-c3] Ugo Erra et al: Fractal Compression Approach for Efficient Interactive Terrain Rendering on the GPU In: Eurographics Italian Chapter Conference, 2008. [F1-c4] Szécsi László et al: Procedural Ocean Effects In: ShaderX 6, 2008. [F1-c5] Tomas Akenine-Möller et al: Real-Time Rendering, A.K. Peters Ltd, 2008. 17
[F1-c6] Rafael Torchelsen et al: Adaptive Re-meshing for Displacement Mapping In: ShaderX 7, Course Technology, 2009. [F1-c7] Lazányi István: Efficient Rendering of Realistic Metals, 2009. [F1-c8] Lu The-Kiet et al: Fast visualization of complex 3D models using displacement mapping In: GI 09: Proceedings of Graphics Interface, 2009. [F1-c9] Szécsi László: Instant Radiosity with GPU Photon Tracing and Approximate Indirect Shadows In: ShaderX 7, Course Technology, 2009. [F1-c10] Michael Schwarz et al: Multisamples Antialiasing of Per-pixel Geometry In: Eurographics Short papers, 2009. [F1-c11] Akram Halli et al: IJCSNS International Journal of Computer Science and Network Security, 9: 118-124 (2009) [F1-c12] Carles Bosch et al: Real-Time Path-Based Surface Detail, 2009. [F3] Szirmay-Kalos László, Umenhoffer Tamás, Gustavo Patow, Szécsi László, Mateu Sbert: Specular Effects on the GPU - State of the Art, in Computer Graphics Forum 26:(1), pp. 1-24, 2009. IF: 1.107. [F3-c1] B. Fabianowski et al: Computer Graphics Forum 28: 1151-1159 (2009) [I1] Szirmay-Kalos László, Mateu Sbert, Umenhoffer Tamás: Real-Time Multiple Scattering in Participating Media with Illumination Networks, Eurographics Symposium on Rendering, 2005. [I1-c1] Liu BQ et al: ADVANCES IN COMPUTER GRAPHICS, PROCEEDINGS 4035: 136-147 (2006) [I1-c2] S Li et al: Real-time Reflection using Ray Tracing with Geometry Field In: Eurographics Short papers, 2006. [I1-c3] Y Dobashi et al: The Visual Computer 23: 697-705 (2007) [I1-c4] Robert Fizimayer: A Real-Time Cloud Animation and Illumination Method, 2007. [I1-c5] Shah MA et al: IEEE TRANSACTIONS ON VISUALIZATION AND COM- PUTER GRAPHICS 13: 272-280 (2007) [I1-c6] Zhou K et al: Fogshop: Real-time design and rendering of inhomogeneous, singlescattering media In: PACIFIC GRAPHICS 2007: 15TH PACIFIC CONFER- ENCE ON COMPUTER GRAPHICS ANDAPPLICATIONS, 2007. [I1-c7] Gong Z et al: Interactive rendering of multiple scattering in participating media using separable phase function In: GRAPP 2007: PROCEEDINGS OF THE SEC- OND INTERNATIONAL CONFERENCE ONCOMPUTER GRAPHICS THE- ORY AND APPLICATIONS, VOL GM/R, 2007. [I1-c8] Kun Zhou et al: Real-Time Smoke Rendering Using Compensated Ray Marching, 2007. [I1-c9] Zhou K et al: Real-time smoke rendering using compensated ray marching In: ACM TRANSACTIONS ON GRAPHICS, 2008. [I1-c10] Deukhyun Cha et al: Computer Graphics Forum 28: 1247-1155 (2009) 18
[I2] Umenhoffer Tamás, Szirmay-Kalos László: Real-time Rendering of Cloudy Natural Phenomena with Hierarchical Depth Impostors, Proceedings of Eurographics (short papers), pp 65-68, 2005. [I2-c1] Falko Kuester et al: Lecture Notes in Computer Science 3942, 2006. [I3] Umenhoffer Tamás, Szirmay-Kalos László, Szijártó Gábor: Spherical Billboards and their Application to Rendering Explosions, Graphics Interface, 2006. [I3-c1] Lars Andreas Ek et al: Animating physically based explosions in real-time In: Proceedings of the 5th international conference on Computer graphics, virtual reality, visualisation and interaction in Africa, 2007. [I3-c2] T. Imagire et al: The Visual Computer 23: 935-944 (2007) [I3-c3] Penick MA et al: Managing data and computational complexity for immersive wildfire visualization In: 21ST EUROPEAN CONFERENCE ON MODELLING AND SIMULATION ECMS 2007 -SIMULATIONS IN UNITED EUROPE, 2007. [I3-c4] Tomas Akenine-Möller et al: Real-Time Rendering, A.K. Peters Ltd, 2008. [I3-c5] von Funck W et al: IEEE TRANSACTIONS ON VISUALIZATION AND COM- PUTER GRAPHICS 14: 1396-1403 (2008) [I3-c6] Peter Lindgren: Volumetric Smoke in Real-time Applications, 2008. [I5] Umenhoffer Tamás, Gustavo Patow, Szirmay-Kalos László: Caustic Triangles on the GPU, in Proceedings of Computer Graphics International: CGI. Istanbul, Turkey, 2008. pp. 222-228. [I5-c1] Chris Wyman et al: Computer Graphics Forum 29: 1-10 (2009) [I5-c2] Peter Dancsik et al: Real-time Multi-bounce Many-object Ray tracing with Distancenormal impostors In: CESCG 09, 2009. [I6] Umenhoffer Tamás, Szirmay-Kalos László: Interactive Distributed Fluid Simulation on the GPU, in MIPRO 2008: Grid and Visualization Systems. Opatija, Croatia, 2008. pp. 236-242. [I6-c1] Adam Csendesi: Smoke Simulation with Obstacles Outside the Simulation Grid In: CESCG 09, 2009. 19