A Cornell box és a Utah Teapot története A cikk eredetileg DigitArt magazinban jelent meg. A Cornell box Rengeteg egyetemen foglalkoznak diákok és kutatók a számítógépes grafika valamely problémájának megoldásával. Ezen fejlesztések eredményeit konferenciákon és szakmai folyóiratok hasábjain publikálják, melyek mindenki számára hozzáférhetőek. Nem meglepő módon gyakorló 3D grafikusok és animátorok mégis csak ritkán találkoznak ezekkel a tudományos jellegű munkákkal, hiszen az érthetetlennek tunő összefüggések, képletek csak a legritkább esetben segítik a gyakorlati munkát. Mindezek ellenére a Utah egyetem teáskannája (Utah teapot) vagy a Cornell egyetem "tesztkamrája" (a Cornell box) - annak ellenére, hogy mindegyik ilyen publikációban láttott napvilágot - nagy karriert futott be a 3D grafikusok világában. Elsőként az oly gyakran látott színes falú dobozka, a Cornell box eredetével, funkciójával ismerkedünk meg. Az amerikai Cornell egyetemen 1973-74 körül kezdtek el foglalkozni a számítógépes grafikával. Abban az idoben a számítógépek kapacítása csupán egyszerű és csúnyácska 3D modellek megjelenítését tette lehetővé, azokat is lassan. Mindezek ellenére a kutatás célja igen nagyratörő volt: olyan számítógéppel generált képeket - avagy virtuális fényképeket - szerettek volna létrehozni, melyek a lehető legjobban hasonlítanak valódi fényképekhez. Ez a feladat, mely a számítógépes 3D grafika lényege, olyan nehéz, hogy még a mai napig sem találtak tökéletes eljárást, mely reális idon belül - minden esetben - szép és hihető eredményt ad. Hogy megértsük a renderelő algoritmusok elott álló feladat komplexítását, gondoljuk végig hogyan jön létre egy fénykép: a fényforrásokból (fényt sugárzó anyagokból) kilépő elektromágneses sugarak (vagy fotonok) megtörnek, elnyelődnek, szétszóródnak vagy éppen visszaverődnek a környezetünkben található anyagok felületén vagy éppen belsejében. A fényképeken ezen össze-vissza verődő, szóródó sugarak lenyomatát látjuk. A virtuális fényképek készítése, azaz a renderelés alapvetően nem azért nehéz, mert rengeteg ilyen fénysugarat kellene a fényforrásból kilőni és szimulálni, hanem azért, mert egyetlen ilyen sugár követése már egy-két visszaverődés után kezelhetetlenül nehézzé válik. A probléma fő forrása az, hogy az anyagok szinte mindegyike - a tükröt kivéve - többé-kevésbé diffúz, azaz a fénysugarat nem egy irányba, hanem a tér végtelenül sok irányába szórja szét. Ha ráadásul a fény több ilyen felület között verodik, a legtrükkösebb algoritmusokat kell használnunk, hogy ne évszázadok hanem percek alatt kapjunk eredményt. Mindezeket figyelembe véve igen merész vállalkozásban kezdtek csaknem húsz éve (1984-ben!) a Cornell egyetemen Dr. Don Greenberg vezetésével. Olyan algoritmust fejlesztettek, mely képes a diffúz felületek közötti fényvisszaverődéseket modellezni. Ez az eljárás - mely a manapság radiosity néven ismert algoritmus alapja - a virtuális világ felületeit apró lapokra osztja, és ezen véges számú lapra oldja meg a fényátadás problémáját (és nem fénysugarakat szimulál). A tudomány világában nagyon fontos kérdés, hogy mennyire jó egy eljárás. Míg a 3D grafikusok megelégszenek azzal, ha "jól néz ki" a kép, egy kutató számára csak a mérhető eredmények irányadóak. Hogyan tudjuk akkor egy render algoritmus "jóságát" mérni? A dolog egyszerű: építsük fel egy teszt-díszlet igazi és virtuális mását, és hasonlítsuk össze a róluk készült igazi és virtuális fotót. Ha a két kép megegyezik az algoritmus jó. Ezzel el is érkeztünk a Cornell box megszületéséhez, hiszen pont ezt csinálták a Cornell egyetemen. Ez a doboz ugyanis egy létező dolog, amit elkészítettek a valóságban és a kifejlesztett render algoritmusok minőségének, pontosságának mérésére használták ill. használják a mai napig. A legelső doboz 84-bol még nem tartalmazott tárgyakat, a megvilágítás a kamera irányából érkezett.
A Cornell egyetemen számos doboz-verzió született a különböző algoritmusok tesztelésére, természetesen mindegyik verziónál pontos méréseket végeztek. A kamera paraméterei, a felületek fényvisszaverő tulajdonsága, a fényforrások adatai és a doboz geometriája mind szükségesek a pontos szimulációhoz. A Cornell box aktuális konfigurációjának minden paramétere szabadon letölthető a Cornell egyetem web-oldaláról és felhasználható tudományos kutatásokban. Érdekes, hogy 1990 körül a jobb oldali falat kékről zöldre cserélték, így ugyanis kiegyenlítettebb lett a kép. A jelenlegi verzióban a fényforrás a dobozon belül található, de közvetlenül nem világít bele a kamerába. Szintén érdemes megjegyezni, hogy a Cornell box nem egy szoba, mint ahogy azt sokan képzelik. A valóságban a doboz élei 50cm körüliek.
A 84-es első képekhez képest meglepően nagy előrelépés a 85-ös szimuláció, mely M. Cohen és D. Greenberg munkája. Kutatásuk eredményeképpen komplex környezetet, azaz árnyékot vető objektumokat is képesek voltak szimulálni. A 90-es évektől kezdődően már nem csupán diffúz felületeket, hanem fényes, vagy akár tökéletesen tükröző objektumokat is tudtak szimulálni korrektül. Ennek - számomra megdöbbentően jó - igazolása az 1997-es eredmény, mely összehasonlítja a valódi dobozról készített fényképet a renderelt képpel. A két kép különbségéből jól látszik, hogy csak a falak találkozása környékén keletkezett némi hiba. A kontúroknál látható éleket nem a render algoritmus hibája okozza, hanem a valódi és a virtuális modell pontatlan illeszkedése.
A legtöbb Cornell box (szerű) kép mégsem a Cornell egyetemről származik. Mivel az egyszerű, könnyen modellezhető, színes falakból álló konfiguráció alkalmasnak bizonyult a globális illuminációs algoritmusok képességének illusztrálására, ez a tesztkörnyezet lett a "standard". Az algoritmusok fejlődésével a kutatók egyre több jelenséget tudtak sikeresen szimulálni, melyekhez a doboz módosított verzióit használták. Erre kiváló példa Henrik Wann Jensen által készített Cornell box sorozat, ahol a fénygyűjtés jelenségét vagy éppen áttetsző objektumokat láthatunk. Ezen doboz-verziók valódi mása aligha létezik, így csak "jól néz ki" típusú minősítésre alkalmasak. De arra tökéletesen!
A Cornell doboz azért alkalmas a globális illuminációs algoritmusok tesztelésére (ezen algoritmusok figyelembe veszik a felületek közötti fényátadást), mert a színes, diffúz falak jól láthatóan megvilágítják a róluk visszaverődő fénnyel a szomszédos felületeket. A gyakorlati munka során azonban - legalábbis manapság - többnyire még mindig lokális illuminációs algoritmusokkal renderelünk, melyek teljes mértékben elhanyagolják a felületek között verődő fénysugarakat. A tökéletes tükröződéseket szimuláló sugárkövetés szintén nem alkalmas a diffúz felületek kezelésére. Az emberi találékonyság azonban többnyire megolja a problémát, mint azt Emmanuel Campin képén is láthatjuk: kis csalással globális illuminációs algoritmusok nélkül is lehet szép Cornell box képeket készíteni.
Az interneten gyakran egészen elborult Cornell doboz verziókkal is találkozhatunk. Némelyek tele vannak vízzel, füsttel vagy éppen bogarakkal. Az esztétikai élmény kedvéért egyesek amolyan "Cornell-termeket" is készítenek, melyek komplex objektumokat, fényforrásokat tartalmaznak. Ezeknek persze már nem sok közük van az őshöz, hiszen a valóságban gyakran nem is létezhetnének. Mint mindenhol, ahol globális illuminációval foglalkoznak, a Budapest Muszaki Egyetem IIT tanszékén is készültek Cornell box képek. Természetesen manapság a kutatás célja nem csupán a probléma megoldása, hanem a renderidő leszorítása. Ha minden jól megy, egy-két éven belül valós idoben tudunk a Cornell dobozhoz hasonló jeleneteket megjeleníteni.
A Utah Teapot A legendás teáskanna története még a Cornell doboznál is régebbre nyúlik vissza, hiszen a világ legelső számítógépes grafikával foglalkozó csoportja hozta létre. 1965-ben alapították meg az amerikai Utah egyetemen azt a tanszéket (Computer Science Faculty), amely a világon elsőként foglalkozott a számítógépes grafikával. Figyelembe véve az akkori technikát meglepő, hogy egyáltalán volt valaki, aki ilyen témát kezdett el kutatni. A tanszék két oszlopos alapítótagja az a David Evans és Ivan Sutherland volt, akik később a szakma egyik úttörő cégét, az Evans & Sutherland-et megalapították. Szintén erről a tanszékről került ki John Warnock (az Adobe alapítója és a Warnock algoritmus feltalálója), Henri Gouraud (a népszerű, poligon felületeknél alkalmazott Gouraud-shading kidolgozója), Bui-Tuong Phong (a Phong modell és a Phong shading kidolgozója), Ed Catmull (Pixar alapító, rengeteg dolgot kitalált képfeldolgozás és grafikai területeken), Jim Clark (SGI alapító, Netscape alapító, Catmullal együtt dolgozták ki a népszerű subdivision sémát) és Jim Blinn (többek között a bump mapping és az environment mapping kidolgozója) stb.
A teáskanna története 1974 körül kezdődött Salt Lake City-ben, ugyanis ekkor vásárolta meg Martin Newell és felesége Sandra a ZCMI nevű háztartási boltban azt a Melitta márkájú teáskannát, ami késobb legendává lett. Newell ugyanis éppen a Ph.D. kutatását folytatta a Utah egyetemen számítógépes grafikai témában, és folyamatosan azzal a problémával küszködött, hogy nem állt rendelkezésre elég érdekes modell az algoritmusok tesztelésére. Éppen teáztak feleségével, amikor Sandra felvetette egy komplett teáskészlet lemodellezésének ötletét. Martin Newellnek tetszett a dolog, és papírra vetette a teáskanna, a csészék és a kanalak rajzát, aminek alapján késobb kézzel írta be az ősi Tektronix masinába a felületeket leíró Beziér modell kontrollpontjait. A kanna történetét kutatók sokáig azt hitték, hogy a csészék és a kanalak örökre elvesztek, de szerencsére mégsem így történt. Mai napig letölthető az egész eredeti adatbázis az Internetről, cím:
Mint a tudományos életben szinte minden, a teáskanna is ingyen hozzáférhető volt a kutatók számára. Mivel abban az időben egyáltalán nem léteztek interaktív modellező programok, mindenki szívesen használta a teáskanna modelljét. Érdekes formája miatt az összes algoritmus tesztelésére alkalmas volt, így például a kannán láthattunk a világon először bump map-et vagy environment (környezeti) textúrát. És ezzel már 1975-78 körül Jim Blinn-nél járunk. Mivel akkoriban még nem igen léteztek grafikus kártyák (sőt, még személyi számítógépek sem...), Blinn az Evans & Sutherland által fejlesztett "képmegjelenítőt" használta. Ez az eszköz viszont összenyomta a képet, ugyanis a pixelek nem négyzet alakúak voltak, hanem 1,3 oldalarányúak (pixel aspect=1,3). Mivel így a renderelt kép nem hasonlított az eredeti kannára, Blinn - igen elegáns módon - a kontrollpontok függőleges komponensét elosztotta 1,3-al, így összenyomta a modellt. Mivel Blinn verziója történetesen gyorsabban terjedt, ez lett a standard.
Végül a teáskanna annyira népszerű lett, hogy gyakorlatilag a számítógépes grafika jelképévé vált. Egyes legendák szerint a szakma néhány nagy öregje fejből tudta a Utah Teáskanna koordinátáit. A 80-as években Newell - aki természetesen a kannán kívül is alkotott maradandó dolgokat - egy Siggraph előadáson velősen meg is jegyezte, hogy sajnos mindig csak azzal az "átkozott teáskannával" azonosítják a nevét. A teáskanna ma már filmben is szerepelt, hiszen a Toy Story első részében, miután Buzz elveszti a kezét, majd a fej nélküli játékokkal teázik, a Utah féle kannát használják! Az eredeti teáskanna ma a kaliforninai Mountain View városban, a Számítógéptörténeti Múzeumban található X00398.1984 katalógus szám alatt, "Teapot used for Computer Graphics rendering" felirattal. |