Tartalomjegyz´ ek
Dinamikusan gener´alt text´ ura alap´ u vonalk´ az´as . . . . . . . . . . . . . . . . . . . . . . . Sz´ecsi L´ aszl´ o, Szir´ anyi Marcell
1
II
Dinamikusan gener´ alt text´ ura alap´ u vonalk´ az´ as Sz´ecsi L´aszl´o, Szir´anyi Marcell
⋆⋆
Budapesti M˝ uszaki ´es Gazdas´ agtudom´ anyi Egyetem {szecsi,sziranyi}@iit.bme.hu
Absztrakt. Cikk¨ unk egy param´eterezett fel¨ uletek vonalk´ azott megjelen´ıt´es´ere alkalmas val´ osidej˝ u procedur´ alis text´ ur´ az´ o algoritmust mutat ´ be. Ugy terjesztj¨ uk ki a Tonal Art Maps technika koncepci´ oj´ at, hogy a mint´ azat ¨ onhasonl´ o jelleg˝ uv´e v´ aljon, ´ıgy v´egtelen sok r´eszletess´egi szinten alkalmazhat´ o legyen. ´Igy korl´ atlanul r´ ak¨ ozel´ıthet¨ unk a fel¨ uletekre an´elk¨ ul, hogy a m˝ uv´eszi st´ılus csorbulna vagy a minta a fel¨ uleten elcs´ uszna. Felt´ arjuk az ilyen jelleg˝ u von´ asmint´ ak matematikai tulajdons´ agait, ´es ismertetj¨ uk a procedur´ alis modellek kialak´ıt´ as´ ara, illetve a val´ osidej˝ u text´ ur´ az´ asra javasolt algoritmusainkat.
1.
Bevezet´ es
A valamely m˝ uv´eszi kifejez´esm´odot, illusztr´aci´os technik´at ut´anoz´o elj´ar´asokat [6, 13, 15], ¨osszefoglal´ oan nem-fotorealisztikus k´epalkot´ asnak (NPR) nevezik. A legalapvet˝ obb technik´ ak egyike a vonalk´az´as, mely a k´ezi rajzhoz hasonlatos, azaz a k´ept´erben k¨ozel azonos m´eret˝ u, illetve anim´aci´o sor´an az objektum fel¨ ulet´ehez tapad´o vonalk´ ak seg´ıts´eg´evel ´erz´ekelteti a fel¨ uletek alakj´at ´es mozg´as´at, mindezt an´elk¨ ul, hogy id˝obeli hibajelens´egek l´epn´enek fel. K¨ ul¨on¨osen arra kell u ¨gyelni, hogy amikor a kamera l´at´ osz¨oge, vagy objektumt´ol m´ert t´avols´aga v´altozik, a von´ asok objektumt´erbeli s˝ ur˝ us´ege a von´asok elmozdul´asa vagy vill´odz´asa n´elk¨ ul alkalmazkodjon, mik¨ozben a k´ept´erben a k´ezi rajzra jellemz˝o egyenletes, de v´eletlenszer˝ u eloszl´as megmarad [9, 1]. Ebben cikkben a Recursive Proedural Tonal Art Maps (RPTAM) nev˝ u, vonalk´az´ asra kifejlesztett u ´j m´odszert mutatjuk be, mely teljes´ıti a fenti krit´eriumokat, de kevesebb megk¨ot´essel j´ar, mint a kor´abbi megold´asok. Nevezetesen, a k´epek alkot´ oelemei von´ asok (´es nem minta-text´ ur´ak), korl´atlan nagy´ıt´as lehets´eges (nem csak v´eges sz´am´ u r´eszletess´egi szint), ´es a lok´alis ´arnyal´as elegend˝o (nem sz¨ uks´eges a geometria feldolgoz´asa a takart von´asok t¨orl´es´ehez). Az alap¨otlet, hogy a von´ asokat text´ urat´erben, ¨onhasonl´o magpontk´eszlet alapj´an helyezz¨ uk el u ´gy, hogy a k¨ ul¨ onb¨ oz˝ o r´eszletess´egi szintek k¨oz¨ott a folytonos ´atmenet lehets´eges legyen. A cikk a k¨ovetkez˝ ok´eppen ´ep¨ ul fel. A 2. szakaszban ¨osszegezz¨ uk az NPRrel ´es az ¨onhasonl´ os´ aggal kapcsolatos kor´abbi eredm´enyeket. A 3. szakaszban bevezetj¨ uk a dinamikus text´ ura alap´ u vonalk´az´as (Recursive Procedural Tonal Art Maps – RPTAM) alap¨otlet´et. A 4. szakaszban bemutatjuk a von´asmint´azatok ¨onhasonl´ os´ ag´ at lehet˝ov´e tev˝o matematikai konstrukci´ot. A 4.1. szakaszban ⋆⋆
kor´ abban megjelent, mint: Recursive Procedural Tonal Art Maps, WSCG 2014
2
Sz´ecsi ´es Szir´ anyi
az vizsg´aljuk, hogyan ´all´ıthat´ok el˝o j´o min˝os´eg˝ u von´ask´eszletek. A megjelen´ıt´esi f´azist az 5. szakaszban t´argyaljuk; itt ´ırjuk le a r´eszletess´egi szintek ´es a von´asm´eretek megv´alaszt´ as´ anak s´em´aj´at is. Az eredm´enyek ´es a tov´abbfejleszt´esi lehet˝os´egek ¨osszefoglal´ asa z´arja a cikket.
2. 2.1.
Kor´ abbi munk´ ak S˝ ur˝ us´ egi ´ es ir´ anymez˝ ok
A ceruzarajzokon a m˝ uv´eszek az egyes t´argyak form´aj´at ´es megvil´ag´ıt´as´at v´ekony von´ asok s˝ ur˝ us´eg´evel, ir´any´aval, hossz´ us´ag´aval, sz´eless´eg´evel ´es ´atl´atsz´os´ag´aval ´erz´ekeltetik. Ahhoz, hogy ezt ut´anozzunk, meg kell tal´alnunk a m˝ uv´eszi kifejez´esm´ odot legjobban kifejez˝o s˝ ur˝ us´eg- ´es ir´anymez˝oket a k´eps´ıkon. A s˝ ur˝ us´eg, hossz´ us´ ag, sz´eless´eg ´es ´atl´ atsz´os´ag a megvil´ag´ıt´ast´ol f¨ ugg, m´ıg az ir´anyt a geometriai forma hat´arozza meg. A m˝ uv´eszek kereszt-vonalk´az´ast is haszn´alhatnak, azaz t¨obb, az ir´anymez˝ oh¨ oz k´epest elt´er˝o sz¨ogben ´all´o vonalk´az´as-r´eteget. Jelen cikkben nem t´argyaljuk az ir´anymez˝ok el˝o´all´ıt´as´anak k´erd´es´et, hanem felt´etelezz¨ uk, hogy a fel¨ uletekhez az UV param´eterez´es m´ar adott, ´es a vonalk´az´as erre illeszkedik. 2.2.
Magpont alap´ u vonalk´ az´ as
Sz´amos munk´ aban [11, 16] javasolt´ak azt, hogy r´eszecsk´eket vagy magpontokat rendelj¨ unk fel¨ uletekhez, ´es a k´ept´erben az ir´anymez˝ot k¨ovetve ezekb˝ol h´ uzzunk von´ asokat [19, 12]. Ebben a megk¨ozel´ıt´esben az alapfeladat az, hogy a magpontokat u ´gy helyezz¨ uk el az objektumok koordin´ata-rendszereiben, hogy azok a k´ıv´ ant k´ept´erbeli von´ ass˝ ur˝ us´eget eredm´enyezz´ek. Ennek megold´as´ahoz vagy a magpontok tizedel´es´ere ´es szapor´ıt´ as´ ara [18, 5], vagy visszautas´ıt´ asos mintav´etelez´esre [16] van sz¨ uks´eg. Ezek a technik´ak t¨obbnyire val´os id˝oben m˝ uk¨odnek, de t¨obb rajzol´asi menetet ´es jelent˝os er˝oforr´asokat ig´enyelnek. A von´asok h´aromdimenzi´os geometriak´ent t¨ort´en˝o kirajzol´asa nem probl´emamentes: a kih´ uzott von´ as-szalagok m´elys´eg´enek ¨osszevet´ese a fel¨ uletek m´elys´eg´evel csak nagy r´ahagy´assal ´es sz˝ ur´essel ad vill´odz´asmentes eredm´enyt. Jelen cikkben mi is ´atvessz¨ uk a magpontok fogalm´at, hogy a von´asok poz´ıci´oit illetve eloszt´asukat jellemezhess¨ uk. Azonban a magpontokat nem az objektumt´erben, hanem a text´ urat´erben vessz¨ uk fel, ugyanis nem h´aromsz¨ogszalagg´a h´ uzzuk ki ˝oket, hanem procedur´alis text´ ur´az´ashoz haszn´aljuk fel a poz´ıci´oikat. 2.3.
¨ Onhasonl´ os´ ag a stiliz´ alt k´ epszint´ ezisben
A dynamic solid textures technika [4] m´ar bevezette a v´egtelen k¨ozel´ıt´es lehet˝os´eg´et a stiliz´alt k´epalkot´ asban, ahol ¨onhasonl´o okt´avok ¨osszeg´ere bontott text´ ur´ak k¨ork¨ or¨ os jelleg˝ u m´eretez´ese ´es s´ ulyoz´asa lehet˝ov´e teszi a korl´atlan sk´al´az´ast.
Text´ ura alap´ u vonalk´ az´ as
3
Az ´altalunk t´argyalt megold´as motiv´aci´oja ugyanez, ´es az ¨onhasonl´os´agot is kihaszn´aljuk, de k´ep alkot´ oelemei a von´asok maradnak, ezzel kifejezetten vonalk´az´ ast, ´es nem ´altal´ anos text´ ur´az´ast val´os´ıtunk meg, ´ıgy elker¨ ulj¨ uk a kontrasztveszt´est ´es a nem k´ıv´ ant frekvenci´ak megjelen´es´et. A Halton-sorozat is felhaszn´alhat´o magpontok gener´al´as´ara [16]. Az ilyen sorozat csonkol´ as´ aval statisztikailag hasonl´o, de ritk´abb vonalk´az´ast kaphatunk. ´Igy tetsz˝oleges sz´am´ u magpontot lehet gener´alni, ami alkalmass´a teszi a megold´ast v´egtelen r´eszletess´eg megval´os´ıt´as´ara. Mi hasonl´o hat´as el´er´es´ere t¨oreksz¨ unk, de text´ ura-t´erben dolgozunk, hogy elker¨ ulj¨ uk a von´asokkal kapcsolatos geometriai sz´am´ıt´ asokat, ´es a takart von´asok t¨orl´es´evel j´ar´o neh´ezs´egeket. Tov´abbi k¨ ul¨ onbs´eg, hogy mi v´eges, de ¨onhasonl´o magpontk´eszlettel dolgozunk, ´ıgy nem sz¨ uks´eges a magpontk´eszletet n´ezetf¨ ugg˝o m´odon mindig u ´jra el˝o´all´ıtani. 2.4.
Text´ ura alap´ u vonalk´ az´ as
Annak biztos´ıt´as´ ara, hogy a von´asok az objektum fel¨ ulet´en r¨ogz´ıtve jelenjenek meg, a vonalk´ az´ ast el˝ozetesen text´ ur´akba rajzolhatjuk, amit k´es˝obb a fel¨ uletekre k´epezhet¨ unk [10]. Ehhez param´eterezett fel¨ uletek sz¨ uks´egesek. Az ilyen text´ ura alap´ u megold´asok legjelent˝ osebb h´atr´anya, hogy csak korl´atozott sz´am´ u r´eszletess´egi szintet tudnak megjelen´ıteni. Tov´abb´a a von´asok m´erete a text´ urat´erben, ´ıgy – az UV koordin´at´ ak hozz´arendel´ese miatt – az objektumt´erben is r¨ogz´ıtett.
1. ´ abra: A TAM text´ ur´ ak egym´ asba ´ agyazotts´ aga: ha egy von´ as szerepel egy k´epen, akkor a t˝ ole jobbra ´es lentebb tal´ alhat´ o k´epeken is szerepel. Forr´ as: Praun et. al [13].
Ez´ert az egyszer˝ u text´ ur´az´as nem alkalmas a k´ept´erben egys´eges vonalk´az´asra. Ennek kik¨ usz¨ ob¨ ol´es´ere jelent meg a Tonal Art Maps (TAM ) technika, amely hat´ekonyan n¨oveli a text´ ura alap´ u vonalk´az´as haszn´alhat´os´ag´at [13]. Ezzel a m´odszerrel sz´amos text´ urak´epet gener´alunk el˝ore, melyek k¨ ul¨onb¨oz˝o ´arnyalatok k¨ ul¨ onb¨ oz˝ o felbont´ as´ u vonalk´az´as-mint´ait tartalmazz´ak. Az 1. ´abra, melyet a hivatkozott cikkb˝ol vett¨ unk ´at, egy ilyen text´ uragy˝ ujtem´enyt mutat be. Fel¨ uletek megjelen´ıt´esekor minden k´eppontban a megfelel˝o text´ ur´at kell kiv´alasztani a k´ıv´ ant ´arnyalat, illetve a k´ept´erbeli von´asm´eret alapj´an. A k¨ ul¨onb¨oz˝o r´eszletess´egi szintek k¨oz¨ otti ´eles hat´arok elker¨ ul´ese v´egett a text´ ur´ak k¨oz¨otti v´alt´as folytonos ´att˝ un´essel t¨ort´enik.
4
Sz´ecsi ´es Szir´ anyi
Az anim´aci´ o sor´an a fel¨ uleten elv´art von´ass˝ ur˝ us´eg folyamatosan v´altozik, a von´ asok m´egsem mozdulhatnak el a fel¨ ulethez r¨ogz´ıtett poz´ıci´ojukb´ol. Megengedett, hogy a s˝ ur˝ us´eg n¨oveked´es´evel u ´j von´ asok jelenjenek meg, illetve, hogy a s˝ ur˝ us´eg cs¨okken´es´evel kor´ abban l´athat´o von´asok t˝ unjenek el. Azonban egym´ashoz k¨ozel nem lehetnek egyszerre megjelen˝o ´es elt˝ un˝o von´asok. Ez´ert a s˝ ur˝ un vonalk´azott text´ ur´ aknak mindig tartalmazniuk kell a ritk´abb text´ ur´ak von´asait. Ezt a tulajdons´agot be´ agyazotts´ agnak nevezz¨ uk, mely a 1. ´abr´an figyelhet˝o meg. A TAM azonban csak a legjobb ´es legrosszabb felbont´as´ u text´ ura-szintek k¨oz¨ ott m˝ uk¨ odik. Ez´ert egy fel¨ uletre k¨ozel´ıtve nem kapunk r´eszletesebb vonalk´az´ast ann´al, mint amit a legnagyobb felbont´as´ u text´ ur´ank ny´ ujtani tud, ami a kritikus szint el´er´ese ut´an hatalmas von´asokat ´es az elv´artn´al egyre ritk´asabb vonalk´ az´ ast eredm´enyez. Ezen fel¨ ul szoros ¨osszef¨ ugg´es van a r´eszletess´egi szintek sz´ama ´es a szintek k¨ozti ´atmenetek k¨oz¨ott. Ha t´ ul kev´es text´ ur´at haszn´alunk, t´ ul sok von´ as van megjelen˝oben egyszerre, ez´ert a k´epen a von´asok er˝oss´ege nem lesz egys´eges.
3.
Rekurz´ıv TAM
Az a c´elunk, hogy egyes´ıts¨ uk egyfel˝ol a TAM egyszer˝ us´eg´et ´es robusztuss´ag´at, m´asfel˝ ol a determinisztikus magpontgener´al´as ´es az elutas´ıt´asos mintav´etelez´es korl´ atlan r´eszletess´eg´et. Ehhez a TAM technik´at v´egtelen m´elys´egig ism´etelhet˝ov´e terjesztj¨ uk ki azzal, hogy a be´agyaz´o tulajdons´agot rekurz´ıvv´a tessz¨ uk. Ha a vonalk´ az´ as mint´ aj´ at text´ ur´anak fogjuk fel, azt mondhatjuk, hogy ebben a text´ ur´ aban a von´ asokat magpontokba helyezz¨ uk. Ezt a text´ ur´at 2 × 2-es r´acsot alkot´ o n´egy csemp´ere bonthatjuk. El˝o´ırjuk, hogy b´armely negyedet tekintve, az ott elhelyezked˝ o magpontok halmaza a teljes, fel´ere kicsiny´ıtett ´es a negyedre illesztett magponthalmaz r´eszhalmaza legyen. ´Igy a magpontok be vannak ´agyazva abba a mint´ aba, amit az eredeti minta mindk´et tengely ment´en val´ o k´etszeri ism´etl´es´evel kapunk (2. ´abra). Enn´elfogva, ha r´ak¨ozel´ıt¨ unk valamelyik negyedre, az ott l´athat´o mint´ahoz u ´gy adhatunk hozz´a u ´j von´asokat, hogy azok az eredeti mint´ at alkoss´ak u ´jra. Ezt nevezz¨ uk a magpontk´eszlet rekurz´ıv be´agyazotts´ ag´ anak, amit r´eszletesebben a 4. szakaszban t´argyalunk majd. A teljes megold´as munkamenete a k¨ovetkez˝o: – El˝ozetesen (offline) n´eh´any b´ajt hossz´ us´ag´ u bitmint´akat gener´alunk. Ezek k´odolj´ ak a rekurz´ıvan be´agyazott magpontk´eszleteket. – Egy magpont-azonos´ıt´ okat tartalmaz´o, u ´n. fed´esi text´ ur´at hozunk l´etre. Ez jelzi, hogy egy fel¨ uleti pontra mely von´asok ker¨ ulnek. Ezt a text´ ur´at csak akkor kell u ´jrarenderelni, ha a vonalk´az´as st´ılusa (pl. von´asok sz´eless´ege) megv´altozik. – A fel¨ uleti pontok ´arnyal´asakor kisz´am´ıtjuk a sz¨ uks´eges r´eszletess´egi szintet. Ez alapj´an sk´al´ azzuk a fed´esi text´ ur´at, ´es az adott pontban relev´ans magpont-azonos´ıt´ okat kiolvassuk bel˝ole. A magpontok poz´ıci´oit a bitmint´akb´ol illetve az azonos´ıt´ okb´ol rekonstru´aljuk. A von´asokat –– el˝ore megfestett text´ ur´ aval, a r´eszletess´egi szintnek megfelel˝o m´eretben ´es ´atl´atsz´os´aggal —
Text´ ura alap´ u vonalk´ az´ as
5
ezekre a poz´ıci´ okra helyezz¨ uk, ´es ¨osszegezz¨ uk hozz´aj´arul´asaikat az ´arnyalt fel¨ uleti pont sz´ın´ehez.
2. ´ abra: 4 ´es 16 elem˝ u, rekurz´ıvan be´ agyazott magpontk´eszletek. A nagy k¨ or¨ ok a magpontokat jel¨ olik, a kis k¨ or¨ ok pedig a 2 × 2-es r´ acson megism´etelt magpontmint´ at. A s˝ ur˝ u mint´ at b´ armely sarokb´ ol kinagy´ıtva a ritka mint´ at kapjuk.
3. ´ abra: A D oper´ ator a magpontokat a legk¨ ozelebbi sarokt´ ol k´etszeres t´ avols´ agra viszi. Magpontsorozatokat a m˝ uvelet ism´etl´es´evel kapunk. Az ´ abr´ an a magpontokat aszerint sz´ınezt¨ uk, hogy mely sarkot haszn´ altuk a nagy´ıt´ ashoz.
Legel˝ osz¨ or, a 4. szakaszban, a magpontok elhelyez´es´enek probl´em´aj´at oldjuk meg u ´gy, hogy az biztos´ıtsa a be´agyazotts´agot. A 4.1. szakaszban azt t´argyaljuk, hogy mely magpontk´eszletek alkotnak j´o min˝os´eg˝ u von´as-mint´akat, ´es hogyan tudjuk ezeket gener´alni. A von´as sz´eless´eg´enek, hossz´ us´ag´anak ´es ir´any´anak meghat´aroz´ asa az 5. szakasz t´em´aja.
4.
Magpont-gener´ al´ as
A rekurz´ıv be´agyazotts´ ag k¨ovetelm´eny´eb˝ol, ´es a magpontk´eszlet v´eges volt´ab´ol egy´ertelm˝ uen k¨ovetkezik magpontok poz´ıci´onak meghat´aroz´as´ara haszn´alt matematikai konstrukci´ o. Legyen az ¨osszes magpont halmaza S = {s0 , . . . , si , . . . , sN −1 }, ahol si = (siu , siv ). Ezek a poz´ıci´ ok magt´erben adottak. K´es˝obb, hogy az UV-t´erbeli helyzetet megkapjuk, a magt´erbeli poz´ıci´okat az aktu´alis r´eszletess´egi szintnek megfelel˝oen fogjuk sk´al´ azni, ´es a mint´at v´egtelenszer ism´etelni. Ahhoz, hogy az egys´egn´egyzeten bel¨ ul a negyedekre val´o r´ak¨ozel´ıt´est megragadjuk, bevezetj¨ uk a D oper´atort: Ds = ⟨2s⟩, ahol a hegyes z´ar´ ojelek a t¨ortr´esz-k´epz´est jelentik. Geometriai ´ertelemben ez a m˝ uvelet az egys´egn´egyzet legk¨ozelebbi sark´at´ol vett k´etszeres k¨oz´eppontos nagy´ıt´ ast jelent. Azt adja meg, hova ker¨ ul egy magpont, ha r´ak¨ozel´ıt¨ unk az ˝ot tartalmaz´o negyedre. A rekurz´ıv be´agyazotts´ag megk¨oveteli, hogy az ´ıgy kapott poz´ıci´ o essen egybe egy m´asik magponttal, hiszen a nagy´ıtott verzi´o r´esze kell legyen a teljes mint´ anak.
6
Sz´ecsi ´es Szir´ anyi
Eszerint, ha az si egy ismert magpont, akkor annak Dsi k´epe is magpont kell legyen (3. ´abra). Egy N magpontb´ol ´all´o sorozat a k¨ovetkez˝ok´epp ´all el˝o: si+1 = Dsi , ha 0 ≤ i < N − 1. Mivel azonban a magpontk´eszlet v´eges, DsN −1 is S-ben van. Ez akkor lehet igaz, ha s0 = DsN −1 . Nyilv´ anval´ o a kapcsolat az iter´alt f¨ uggv´enyrendszerekkel (IFS) [2], illetve azok attraktorainak k´ aoszj´ at´ekkal t¨ort´en˝o el˝o´all´ıt´as´aval [3]. A mi konstrukci´onkhoz hasonl´oan, a k´aoszj´ at´ek is egy kezdeti pontot transzform´al ism´etl˝od˝oen. A transzform´aci´ ot v´eletlenszer˝ uen v´alasztja ki egy adott halmazb´ol. Akkor, ha a transzform´aci´ ok az attraktort diszjunkt ter¨ uletekhez rendelik, egy adott pontr´ol egy´ertelm˝ uen meghat´arozhat´o, mi volt az ˝ot gener´al´o legutols´o transzform´aci´o. Ekkor azonban ebb˝ol a pontb´ol kiindulva a teljes sorozat determinisztikusan visszak¨ovethet˝ o. Mi a k´aoszj´at´ek ezen determinisztikus v´altozat´at j´atsszuk n´egy, az egys´egn´egyzetet annak negyedeibe lek´epez˝o transzform´aci´oval. A rendszer¨ unk attraktora maga az egys´egn´egyzet. Arra kell csak u ¨gyeln¨ unk, hogy a sorozat visszat´erjen ¨onmag´ aba, ezzel egy v´eges elemsz´am´ u magpontk´eszletet kapjunk.
szakasz kvaternális számjegy = 0.00100001101111010010000110111101 = 0.00011011110100010001101111010001 = 0.01000011011110100100001101111010 = 0.00110111101000100011011110100010 forgatás
4. ´ abra: A D operator ´ertelmez´ese bin´ aris t¨ orteken. Szakaszos bin´ aris 5. ´ abra: A de Bruijn sorozattal t¨ ortek eset´en a bitek forgathat´ oak. gener´ alt magpontok egyenletesen helyezkednek el abban az ´ertelemben, hogy minden r´ acscell´ aba egy magpont ker¨ ul.
Ahhoz, hogy ilyen z´art ciklust eredm´enyez˝o kezdeti pontot tal´aljunk, meg kell vizsg´alnunk a magpont-koordin´at´ak bin´aris t¨ort alakj´at. A D oper´ator t¨orli a bin´aris pont ut´ani els˝o bitet, majd a teljes sorozatot eggyel balra tolja(4. ´abra). ´Igy a fenti magpont-gener´ al´o m´odszert u ´gy is felfoghatjuk, hogy az s0u ´es s0v koordin´at´ ak bitjeit minden l´ep´esben balra toljuk. N l´ep´es ut´an a sorozatnak vissza kell t´ernie s0 -ba. Ez akkor lehets´eges, ha s0u ´es s0v szakaszos bin´aris t¨ortek, ahol a szakaszhossz N (vagy N oszt´oja). B´armely ilyen szakaszos bin´aris t¨ort rekurz´ıvan be´agyazott magpontk´eszletet hat´aroz meg, de nem mindegyik ilyen k´eszlet magpontjainak eloszl´asa egyenletes ´es izotr´opikus. Ez´ert a 4.1. szakaszban m´odszert javasolunk arra, j´o min˝os´eg˝ u magpontk´eszletet ad´o bin´aris t¨orteket tal´aljunk.
Text´ ura alap´ u vonalk´ az´ as
4.1.
7
Egyenletesen elosztott magpontk´ eszletek
Ha egym´ast´ ol f¨ uggetlen¨ ul, v´eletlen m´odon, minden sz´amjegyet azonos val´osz´ın˝ us´eggel v´alasztva ´ep´ıt¨ unk v´egtelen sorozatot, minden lehets´eges adott hossz´ u sz´amjegysor ugyanolyan gyakoris´aggal fordul el˝o. Az olyan v´eges sorozatot, amire ez szint´en teljes¨ ul, de Bruijn sorozatnak nevezik [14]. Az u ´es v bitjeit ¨osszevonhatjuk, hogy kvatern´ alis sz´amjegyeket alkossanak, s ´ıgy egy kvatern´alis sz´amsorozatot kapjunk. Ahhoz, hogy a magpontjaink egyenletes eloszl´ast mutassanak, kvatern´ alis de Bruijn sorozatot kell keresn¨ unk. Geometriai ´ertelemben az els˝o kvatern´alis sz´amjegy ´ert´eke azt jelzi, hogy az egys´egn´egyzeten bel¨ ul mely negyedben helyezkedik el a magpont. A k¨ovetkez˝o sz´amjegy adja meg, mely 41 × 14 -es n´egyzetben tal´alhat´o meg ezen bel¨ ul, ´es ´ıgy tov´ abb. Amikor a magpontokat a bitek forgat´as´aval el˝o´all´ıtjuk, egy minta pontosan annyiszor fordul el˝o a bin´aris pont ut´an, ah´any magpont a mint´ahoz tartoz´o n´egyzetben van. Ha N = 4K valamely K eg´esz sz´ammal, akkor pontosan egy magpont fog esni a 2K ×2K r´acs minden cell´aj´aba (5. ´abra). Ez nagyon hasonl´o az alacsony diszkrepanci´aj´ u Halton sorozat elemi intervallum tulajdons´ag´ahoz [7]. A de Bruijn sorozat el˝o´ all´ıt´as´ara sz´amtalan hat´ekony algoritmus ismert [14], ez´ert ennek ismertet´es´et˝ ol eltekint¨ unk.
5.
Megjelen´ıt´ es
A magpont-mint´ azatot a fel¨ uleten megfelel˝o l´ept´ekben ism´etelve biztos´ıthatjuk a megk´ıv´ ant k´ept´erbeli vonalm´eretet ´es -s˝ ur˝ us´eget. A sz¨ uks´eges l´ept´ek a fel¨ uleten v´altoz´ o, ´ıgy a mint´ anak id˝oben ´es t´erben folytonosan alkalmazkodnia kell. Ezt u ´gy ´erj¨ uk el, hogy el˝osz¨ or egy k¨ozel´ıt˝o kett˝ohatv´annyal sk´al´azzuk a magpontmint´ azatot (5.1. szakasz), majd a k¨ozel´ıt´es hib´aj´at kik¨ usz¨ob¨olve magukat a von´asokat is sk´al´ azzuk (5.2. szakasz), valamint von´asok kihalv´any´ıt´as´aval biztos´ıtjuk a k¨ ul¨ onb¨ oz˝ o s˝ ur˝ us´egek k¨oz¨ otti ´atmenetet(5.3. szakasz). 5.1.
A magpont-mint´ azat sk´ al´ az´ asa
A r´eszletess´egi szint kiv´alaszt´as´anak folyamata a mipmapping [17] elj´ar´assal anal´og, azzal a k¨ ul¨ onbs´eggel, hogy eset¨ unkben minden r´eszletess´egi szint azonos, de kett˝ o valamely hatv´any´ aval sk´al´azott. M´asodszor, a r´eszletess´egi szint v´alaszt´asa nem el˝ore sz´am´ıtott text´ ur´ak k¨oz¨ uli v´alaszt´ast jelent, hanem azt d¨onti el, milyen sk´al´ an ism´etelj¨ uk a magpontokat az UV-t´erben. Mivel a v´egc´el az adott k´ept´erbeli s˝ ur˝ us´eg el´er´ese, ez a mag- ´es UV-terek k¨oz¨otti lek´epez´es a lehet˝o legnagyobb m´ert´ekben ki kell, hogy egyenl´ıtse az UV- ´es k´epterek k¨oz¨otti lek´epez´est. Ezek a lek´epez´esek glob´alisan ugyan nem line´arisak, s˝ot nem is minden pontban defini´altak, de egy fel¨ uleti pont vonatkoz´as´aban mindig ´ertelmezhet˝oek, ak´ar line´aris transzform´aci´ ok´ent is. Legyen L a keresett, ismeretlen, magpontokat text´ urakoordin´at´akhoz rendel˝o lok´alis lek´epez´es: xuv = Lxs ,
8
Sz´ecsi ´es Szir´ anyi
ahol xs magt´erbeli poz´ıci´ o, xuv a text´ ura-koordin´at´ak, ´es L kett˝ohatv´annyal t¨ort´en˝ o izotr´op sk´al´ az´ as kell legyen. C´elunk az, hogy a sk´alat´enyez˝ot b´armely fel¨ uleti pontra megtal´alhassuk. Jelen levezet´es¨ unkben el˝obb megk¨ot´es n´elk¨ ul keres¨ unk sk´alat´enyez˝ ot, azut´an fogjuk az azt k¨ozel´ıt˝o kett˝ohatv´anyt kiv´alasztani. Legyen T a text´ ura-lek´epez´es oper´ator´anak lok´alis inverze. Ezt a modell text´ ura-param´eterez´ese hat´arozza meg. ´Igy xobj = T xuv , ahol xobj a modellt´erbeli poz´ıci´o. Ez nem m´as, mint a j´ol ismert tangenst´erb˝ol modellt´erbe viv˝o transzform´aci´o, ahol a tangens- ´es binorm´alvektorok a modellt´erbeli poz´ıci´ o u ´es v szerinti parci´alis deriv´altjai, normaliz´al´as n´elk¨ ul. Legyen G a k´epalkot´ asi cs˝ovezet´ek teljes, modellt´erb˝ol n´ezetablakt´erbe viv˝o lek´epez´ese. Ebben a modellez´esi, kamera-, vet´ıt´esi ´es n´ezetablak-transzform´aci´ok egyar´ ant benne foglaltatnak. Az objektumok ´es a kamera param´eterei ezeket egy´ertelm˝ uen megadj´ak. ´Igy xvp = Gxobj , ahol xvp a n´ezetablakt´erbeli poz´ıci´o. Ezekkel a magt´erb˝ ol n´ezetablakt´erbe viv˝o transzform´aci´o a k¨ovetkez˝ok´eppen ´ırhat´ o: xvp = GT Lxs . (1) Ism´et megjegyezz¨ uk, hogy minden m˝ uvelet f¨ ugg a fel¨ uleti pontt´ol, ´es mindegyik a glob´alis lek´epez´esek lok´alis lineariz´aci´oja. Legyen h a r´eszletess´egi ir´ any, egy differenci´alis ir´anyvektor a magt´erben, ami a von´ asok ir´any´ ara mer˝oleges. Sz´amunkra az az ´erdekes, hogy a r´eszletess´egi ir´anyt hogyan sk´al´ azza az L, T ´es G lek´epez´es. Legyenek ezek a sk´alat´enyez˝ok az L r´eszletess´egi t´enyez˝ o, a T text´ uratorz´ıt´ as, ´es a G geometriai faktor: L=
|Lh| |T Lh| |GT Lh| , T = , G= . |h| |Lh| |T Lh|
Ezekkel az 1. egyenletet differenci´alisokra alkalmazhatjuk, ´ıgy a r´eszletess´egi ir´any sk´al´ az´ as´ ara a k¨ovetkez˝o formul´at kapjuk: |hvp | = GT L|h|, ahol |hvp | a n´ezetablakban megjelen˝o r´eszletess´egi ir´anyvektor hossza. A G geometriai faktort ´es a T text´ uratorz´ıt´ast k¨onnyen sz´amolhatjuk (a k´epleteket nem ismertetj¨ uk, mivel a modellez´esi-n´ezeti-vet´ıt´esi ´es a tangenst´erhez kapcsol´od´ o transzform´aci´ ok egyar´ant j´ol ismertek), az L pedig az a sk´alafaktor, ami a r´eszletess´egi szint v´alaszt´ as´ab´ol kell k¨ovetkezzen. Az F = |h|/|hvp | ar´any ragadja meg azt, hogy a magpontok a n´ezetablakban milyen s˝ ur˝ un jelennek meg. Ez szabadon v´alaszthat´o m˝ uv´eszi param´eter, ´es glob´alis konstans, mivel az ´arnyalatoknak a s˝ ur˝ us´eg m´odos´ıt´as´aval val´o visszaad´as´ at itt m´eg nem vessz¨ uk figyelembe. Ak´arcsak a hagyom´anyos text´ ur´az´asn´al, alacsonyabb F ´ert´ek v´alaszt´asa nagyobb r´eszletess´eget eredm´enyez — vagyis
Text´ ura alap´ u vonalk´ az´ as
9
t¨obb mag, ´ıgy t¨obb von´ as esik egys´egnyi fel¨ uletre —, de a minta gyorsabb ism´etl˝ od´es´et is. Ezzel a megk´ıv´ant L r´eszletess´egi t´enyez˝o ´ıgy fejezhet˝o ki: L = (GT F )−1 . Hogy a magpontok be´agyazotts´ag´at kihaszn´alhassuk, L kett˝ohatv´any kell legyen, ´ıgy L ≈ 2⌊M ⌋ , ahol az ⌊M ⌋ eg´esz sz´amot be´ agyaz´ asi szintnek nevezz¨ uk. El˝osz¨ or az M val´ os sz´amot sz´am´ıtjuk ki: M = log2 L = log2 (GT F )−1 = − log2 GT F, ezut´an ennek eg´eszr´esz´et vessz¨ uk, hogy megkapjuk az ⌊M ⌋ be´agyaz´asi szintet. Ezzel a magt´erbeli ´es a text´ ura-koordin´at´ak k¨oz¨otti sk´alat´enyez˝o a k¨ovetkez˝onek ad´odik: xs = 2−⌊M ⌋ xuv .
textúralépték
textúralépték
A megold´as pontos, amikor M eg´esz sz´am, ´es az eg´esz ´ert´ekek be´ agyaz´ asi szinteket hat´aroznak meg. Az M nem-eg´esz ´ert´ekeire, a ⌊M ⌋ s˝ ur˝ u szint folytonosan kell, hogy ´atmenjen a ⌊M ⌋ + 1 ritka szintbe. Ez´ert a von´asokat alkalmasan kell sk´al´ aznunk, ´es azokat, amelyek a ritka szinten nem l´athat´oak, el kell halv´any´ıtanunk (6. ´abra).
s r szint
s r szint
a térben változó részletességű felületen megjelenő minta
a térben változó részletesség felületen megjelenő minta
ritka szint
ritka szint
u textúraparaméter
u textúraparaméter
6. ´ abra: A be´ agyaz´ asi szintek k¨ oz¨ otti sima ´ atmenet megval´ os´ıt´ asa a m´eret (jobb), illetve az ´ atl´ atsz´ os´ ag (bal) m´ odos´ıt´ as´ aval, 2D ´ abr´ an.
5.2.
A von´ asm´ eret interpol´ aci´ oja
A von´ asok n´ezetablakt´erbeli hossza ´es sz´eless´ege m˝ uv´eszi param´eter, ´es az e k´etdimenzi´ os vektorral adjuk meg. Az F defin´ıci´oja szerint tudjuk, hogy a magt´erbeli von´ asm´eret F e kellene legyen, ha az L nem lenne kett˝ohatv´anyokra
10
Sz´ecsi ´es Szir´ anyi
kvant´ alva. A kvant´ al´ as hat´as´anak ellens´ ulyoz´as´ara a magt´erbeli von´asm´ereteket az al´abbi t´enyez˝ ovel sk´al´ azzuk: 2M = 2M −⌊M ⌋ = 2⟨M ⟩ = 2m , 2⌊M ⌋ ahol m tekinthet˝ o a be´agyaz´asi szintek k¨oz¨otti interpol´ aci´ os t´enyez˝ onek, ami a s˝ ur˝ u szinten felvett 0 ´ert´ekt˝ol a ritka szinten felvett 1 ´ert´ekig v´altozik. Tudjuk, hogy a s˝ ur˝ u ´es ritka szintek a k´etszeres nagy´ıt´ast´ol eltekintve azonosak, ´ıgy k¨onnyen l´athat´ o, mi´ert kell a von´asoknak k´etszeres´ere n˝oni¨ uk az interpol´aci´os t´enyez˝ o n¨oveked´es´evel.
7. ´ abra: A von´ ast´erbeli poz´ıci´ o sz´ am´ıt´ asa (sk´ al´ az´ as ´es forgat´ as n´elk¨ ul). × jel¨ oli az ´ arnyalt pontot. Ennek magt´erbeli poz´ıci´ oja xs , az ´eppen feldolgozott magpont si , a magponthoz k´epesti poz´ıci´ o xs − si , amit a ⟨xs − si + η⟩ − η kifejez´essel a magpont k¨ or¨ uli egys´egn´egyzetbe k´epez¨ unk.
8. ´ abra: A k´ek, s˝ ur˝ u csemp´en a k´ek magpontok egybeesnek a ritka magpontokkal. A k´ek csemp´eben a k´ek ny´ıl egyszerre jelent egy l´ep´est a s˝ ur˝ u csempe k´ aoszj´ at´ek´ aban ´es egy s˝ ur˝ u magpont ritka magponthoz rendel´es´et.
Ahhoz, hogy az xs pontban meg´allap´ıthassuk a von´asok hat´as´ara el˝o´all´o sz´ınt, meg kell tal´alnunk, mely von´asok fednek r´a a pontra, ´es azok text´ ur´aj´anak mely eleme esik r´ajuk. ´Igy minden si magpontra meg kell tal´alnunk az xs magt´erbeli ponthoz tartoz´o zi von´ ast´erbeli koordin´ at´ akat (7. ´abra). Az xs ´arnyalt pontnak a magponthoz relat´ıv poz´ıci´oja xs − si , de a magokat v´egtelenszer ism´etelj¨ uk, hogy a teljes s´ıkot lefedj´ek. ´Igy a xs − si tartalmaz egy eg´esz´ert´ek˝ u eltol´ast, ami ahhoz az egys´eg oldalhossz´ u csemp´ehez tartozik, amiben a magpont elhelyezkedik. Azt szeretn´enk, hogy a von´asok k¨oz´eppontjai essenek a magpontokra, ez´ert az eg´esz´ert´ek˝ u eltol´as kiiktat´as´ahoz a xs − si pontot az orig´ok¨oz´eppont´ u egys´egn´egyzetre k´epezz¨ uk a ⟨xs − si + η⟩ − η kifejez´est kapva, ahol η = (1/2, 1/2). Ez az xs pont relat´ıv poz´ıci´oj´at az si magpont legk¨ozelebbi p´eld´ any´ ahoz k´epest adja meg. Ezt a von´ as ir´any´ anak megfelel˝oen forgathatjuk, sz´eless´eg´enek ´es hossz´anak megfelel˝oen sk´al´ azhatjuk, ´ıgy a k¨ovetkez˝o k´epletet kapjuk a von´ast´erbeli koordin´at´ akra: zi = (R (⟨xs − si + η⟩ − η)) (2m F e) + η,
Text´ ura alap´ u vonalk´ az´ as
11
ahol R a von´asir´ anynak megfelel˝o elforgat´asi m´atrix, a oper´ator pedig az elemenk´enti oszt´ast jel¨oli. Ezek a koordin´at´ak haszn´alhat´oak a von´astext´ ura c´ımz´es´ere. 5.3.
S˝ ur˝ us´ eg-interpol´ aci´ o
Amikor elt´avolodunk egy fel¨ ulett˝ol, ahogy az objektumt´erbeli magponts˝ ur˝ us´egnek cs¨okkennie kell, u ´gy l´atjuk a von´asmint´at a s˝ ur˝ u szintb˝ol a ritka szintbe ´atmenni. N´eh´ any von´ as text´ urat´erbeli m´erete n¨ovekszik, hogy a n´ezetablakt´erben meg˝orizz´ek kiterjed´es¨ uket, m´ıg m´as von´asok el kell t˝ unjenek, hogy a vonalk´az´as ritkuljon. Amikor k´et szint k¨oz¨ott interpol´alunk, azonos´ıtanunk kell a marad´o von´ asokat. N´egy s˝ ur˝ u csempe fed le egy ritka csemp´et (8. ´abra). Tekints¨ uk a bal fels˝o (a k´ek sarokhoz tartoz´o) csemp´eben lev˝o s˝ ur˝ u magpontokat. A k´aoszj´at´ek folyam´an ezen magpontok mindegyik´et egy m´asik s˝ ur˝ u magpont sk´al´azott k´epek´ent ´all´ıtottuk el˝o, n´emelyik¨ uket — a k´ek magpontokat — a bal fels˝o sarkot sk´al´az´asi k¨oz´eppontnak haszn´alva. ´Igy a k´ek magpontok ´es a ritka magpontok egyar´ant a s˝ ur˝ u magpontok k´ek sarokb´ol kinagy´ıtott k´epei, vagyis egybeesnek. Ugyanez a gondolatmenet minden csemp´ere ´es sarokra megism´etelhet˝o. ´Igy teh´at az, hogy egy s˝ ur˝ u magpont egybeesik-e egy ritka magponttal, k´et indik´ator egybees´es´et˝ol f¨ ugg: a n´egy s˝ ur˝ u csempe melyik´eben helyezkedik el, illetve a n´egy lehets´eges sk´al´ az´ as melyike ´all´ıtotta el˝o a k´aoszj´at´ekban. A s˝ ur˝ u csempe sor- ´es oszlopindexeinek parit´asbitjei jelzik, melyik csemp´eben van a ritka csemp´en bel¨ ul. A csempe indexe nem m´ a s, mint a ⟨x − s + η⟩ k´ e plettel eldobott eg´ e szr´ e sz, vagyis s i ⌊ ⌋ w = xs − si + η . Hogy mely sk´al´ az´ ast alkalmazzuk a k´aoszj´at´ek sor´an, az az siu ´es siv els˝o bitjeit˝ol f¨ ugg. A bitek forgat´as´aval ezek az u ´j magpont bitmint´aj´anak utols´o bitjei lesznek. ´Igy teh´at a s˝ ur˝ u magpont ritka magponttal akkor ´es csak akkor esik egybe, ha az u ´es v bitmint´ ak parit´asai ugyanazok, mint a w sor- ´es oszlopindexek parit´asai. Amikor t´avolodunk a fel¨ ulett˝ol, ezek a magpontok maradnak meg, m´ıg a t¨obbi magpontot az m interpol´aci´os t´enyez˝o n¨oveked´es´evel el kell t¨ untetni. A von´ asok elt¨ untet´ese t¨obbf´elek´epp megoldhat´o. Modul´alhatjuk az ´atl´atsz´os´ agot vagy a von´ asm´eretet, valamint az interpol´aci´os t´enyez˝o n¨oveked´es´evel egyszerre vagy egym´as ut´an is elt¨ untethetj¨ uk a von´asokat. A von´asok egyidej˝ u modul´aci´ oja sima ´atmenetet tesz lehet˝ov´e hirtelen megjelen˝o vagy elt˝ un˝o von´asok n´elk¨ ul, de a von´ asok nagy r´esze f´elig ´atl´atsz´o vagy k¨oztes m´eret˝ u lesz, ´ıgy a vonalk´az´ as kev´esb´e lesz egyenletes. Ha a vonalak egym´ast k¨ovet˝oen jelennek meg, a modul´aci´ o m´odszere alig sz´am´ıt, mivel hirtelen t˝ unnek el˝o, de mind azonosnak l´atszanak. A rekurz´ıv be´agyaz´as miatt a von´asok csak akkor jelennek meg vagy t˝ unnek el, ha a vonalk´ az´ asnak s˝ ur˝ ubb´e vagy ritk´abb´a kell v´alnia, ´ıgy vill´odz´as nem jelentkezik. 5.4.
´ Arnyal´ as
A megvil´ag´ıt´ as ´abr´ azol´ as´ ara a lok´alisan megk´ıv´ant ´arnyalatnak megfelel˝oen kell m´odos´ıtani a vonalk´ az´ as s˝ ur˝ us´eg´et. Ahogy a vonalakat a kisebb r´eszletess´eg
12
Sz´ecsi ´es Szir´ anyi
kedv´e´ert el tudtuk t¨ untetni, u ´gy m´eret¨ uk ´es ´atl´atsz´os´aguk az ´arnyalatnak megfelel˝oen is modul´alhat´ o. A von´asokat itt is halv´any´ıthatjuk egyszerre (sim´abb anim´aci´ ot eredm´enyez˝ oen, de sok f´elig l´athat´o von´assal), vagy egym´as ut´an (konzisztensebb megjelen´es˝ u, de hirtelen megjelen˝o von´asokkal). A m˝ uv´eszi gyakorlatban az ´arnyalatokat gyakran u ´gy hangs´ ulyozz´ak, hogy nagyj´ab´ol n´egy k¨ ul¨on´ all´ o, sz¨ogben ´all´ o r´etegben rajzolnak von´asokat [8], ami keresztvonalk´ az´ ask´ent ismert. Ennek szimul´ aci´ oj´ ahoz t¨obb ¨onhasonl´o magpont-k´eszletet haszn´alunk.
6.
Implement´ aci´ o
Ha egy megfelel˝o magpont-halmazt u ´es v bitmint´ak form´aj´aban el˝ozetesen el˝o´ all´ıtottunk, az algoritmust (1. algoritmus) egyetlen ´arnyal´oprogramban megval´ os´ıthatjuk. Didaktikai okokb´ol ´es a k¨onnyebb ´erthet˝os´eg kedv´e´ert a pszeudok´odot a k¨ovetkez˝ o egyszer˝ us´ıt´esekkel ´ırtuk le: Nem haszn´ alunk t¨ obbr´ eteg˝ u vonalk´ az´ ast, de erre az algoritmus k¨onnyed´en kiterjeszthet˝o, u ´gy, hogy a k´ıv´ant ´arnyalatot a r´etegekhez rendelt tartom´anyokb´ ol k´epezz¨ uk, ´es az algoritmust minden r´etegre k¨ ul¨onb¨oz˝o bitmint´akkal, von´ asm´eretekkel, forgat´asokkal ´es von´astext´ ur´akkal v´egrehajtjuk. Egyidej˝ u modul´ aci´ ot haszn´ alunk, teh´at nem egym´as ut´an halv´any´ıtjuk a von´ asokat, a r´eszletess´eg ´es az ´arnyalat eset´eben egyar´ant. Ha egyes´evel szeretn´enk halv´any´ıtani a von´asokat, egy smoothstep f¨ uggv´enyt kell alkalmaznunk az a ´arnyalatra ´es/vagy az m interpol´aci´os t´enyez˝ore, az [i/(N +1), (i+ 1)/(N + 1)] intervallumon, a 11. ´es/vagy 14. sorokban. Az ´ atl´ atsz´ os´ agot modul´ aljuk, de a von´asm´eret modul´aci´oja is hasonl´o. Minden magpontot feldolgozunk a nyers er˝o m´odszer´evel. A gyakorlatban csup´an n´eh´ any von´ as befoly´asolja egy fel¨ uleti pont sz´ın´et, ´ıgy a 9. sorb´eli hurok lecser´elhet˝ o a 6.1. szakaszban le´ırt gazdas´agosabb megold´asra.
6.1.
A magpontok el˝ osz˝ ur´ ese
A nyers er˝ovel dolgoz´o implement´aci´o vonalk´az´asi r´etegenk´ent N text´ uramint´at haszn´al. N´egy r´eteggel ´es 64 elem˝ u magpont-halmazzal ez k´eppontonk´ent 256 mint´ at jelent. Ennek ellen´ere a na´ıv implement´aci´o nem teljes´ıt olyan gyeng´en, mint v´arn´ ank. A 256 minta ugyanabb´ol a felt´etelezhet˝oen kicsi, hat´ekonyan gyors´ıt´ ot´ arazott text´ ur´ ab´ ol sz´armazik. A text´ uraolvas´asok nagy r´esze t´ ulc´ımz´es miatt mem´oriaolvas´ as n´elk¨ ul megoldhat´o, ´es a t¨obbletsz´am´ıt´ast a val´oban bek¨ovetkez˝o mem´oriaolvas´ asok k´esleltet´ese eltakarja. Ezzel egy¨ utt a megk¨ozel´ıt´es teljes potenci´alja akkor ´erhet˝ o el, ha csak azokat a von´asokat kell feldolgozni, melyek egy fel¨ uleti pont ´arnyal´ as´ ahoz hozz´aj´arulhatnak. Ezek azonos´ıt´ as´ ahoz egy von´ asfed´esi text´ ur´ at hozunk l´etre, amely a magt´erbeli egys´egn´egyzetet ´abr´azolja, ´es minden texelben az ´atfed˝o von´asok list´aj´at t´aroljuk. Amikor a szintek k¨oz¨ott interpol´alunk, a von´asokat legfeljebb k´etszeres¨ ukre sk´al´ azzuk. ´Igy azokat a maxim´alis m´eretben kell rajzolni. A legegyszer˝ ubb u ´gy ¨osszegy˝ ujteni a texelekbe a magpontok azonos´ıt´oit, hogy bitmaszkok buffer´ebe
Text´ ura alap´ u vonalk´ az´ as
13
Algorithm 1 Egy fel¨ uleti pont ´arnyal´asa. Glob´alis bemenetek a magpontk´eszletet defini´al´ o b = (bu , bv ) de Bruijn bitsorozatok, ´es a k¨ovetkez˝o m˝ uv´eszi param´eterek: a vonalk´ahoz tartoz´o elforgat´asi m´atrix R, a glob´alis n´ezetablak-beli magpont-s˝ ur˝ us´eg F , a vonalka sz´eless´eg ´es hossz´ us´ag e. A m˝ uv´esz ´altal rajzolt vonalka text´ ur´ aja a strokeTex amely null´aval t´er vissza ha a hat´arain k´ıv¨ ul mintav´etelezz¨ uk. 1: function Shade(texture coords xuv , position xobj ) 2: a ← a megvil´ ag´ıt´ asb´ ol ad´ od´ o´ arnyalat [0, 1] 3: c←1 ◃ kezdetben a pixel a h´ att´er sz´ın´et veszi fel 4: T ← a text´ ura torz´ıt´ asa az xobj pontban 5: G ← a geometriai faktor az xobj pontban 6: M ← − log2 GT F ◃ be´ agyazotts´ agi m´elys´eg 7: xs ← 2−⌊M ⌋ xuv ◃ magpontt´erbeli poz´ıci´ o az UV-b˝ ol 8: m ← M − ⌊M ⌋ ◃ interpol´ aci´ os t´enyez˝ o 9: for i ← 0, N − 1 do ◃ valamennyi magpontra 10: si ← (0.bu bu . . . , 0.bv bv . . .) ◃ a magpont bitjei 11: α←a ◃´ atl´ atsz´ os´ ag az ´ arnyalatb´ ol 12: w ← ⌊xs − si + η⌋ ◃ a s˝ ur˝ u csempe indexe 13: if w ̸≡ b(mod2) then ◃ a magpont nincs benne a ritk´ abb mint´ aban 14: α ← α(1 − m) ◃a ´tl´ atsz´ os´ ag a r´eszletess´egi szintb˝ ol m 15: zi ← (R (⟨xs − si + η⟩ − η)) (2 F e) + η 16: y ← strokeTex[zi ] ◃ text´ ura-mintav´etelez´es 17: α ← αyα ◃ az alpha ´ert´ek alkalmaz´ asa a text´ ur´ an 18: c ← (1 − α)c + αy ◃ alpha blending 19: b←b 1 ◃ a bitek k¨ ork¨ or¨ os eltol´ asa a k¨ ovetkez˝ o magponthoz 20: return c
renderel¨ unk, ahol minden bit egy magpontot jel¨ol, ´es atomi bitenk´enti vagy m˝ uveleteket haszn´alunk. Egy m´asodik menetben a bitmaszkokat azonos´ıt´olist´akk´ a alak´ıthatjuk, melyek kevesebb bitet foglalnak. A text´ ur´ at csak akkor kell friss´ıteni, ha a m˝ uv´eszi param´eterek megv´altoznak. Az ´arnyal´ o algoritmusba egyszer˝ uen be´ep´ıthetj¨ uk, hogy olvassa ki a fed´esi text´ ur´ at az xs pontban, ´es csak a relev´ans magpontokat dolgozza fel.
7. 7.1.
Eredm´ enyek Teljes´ıtm´ eny
Egy NVIDIA GeForce 780-as k´arty´an 1920 × 1200 teljes k´eperny˝os felbont´ason ¨ tesztelt¨ uk az algoritmust, ´es egy k´epkocka rajzol´as´anak idej´et m´ert¨ uk. Osszevetett¨ uk m´odszer¨ unket a dinamikus t¨om¨or text´ ur´akkal (DST) [4] ´es a TAM [13] m´odszerrel, a szerz˝ok ´altal k¨ozz´etett programk´odokat haszn´alva. Az RPTAM-hoz n´egy r´eteget haszn´altunk, r´etegenk´ent 16, illetve 64 magponttal (9. ´abra). Sz¨ urkesk´ al´ as text´ ur´ akat haszn´altunk minden m´odszerben. A 1. t´abl´azat eredm´enyei azt mutatj´ ak, hogy b´ar a nyers er˝ot haszn´al´o implement´aci´o val´os idej˝ u teljes´ıtm´enyt ny´ ujt, minden m´as m´odszer rajzol´asi ideje gyakorlatilag elhanyagol-
14
Sz´ecsi ´es Szir´ anyi
hat´o, ´es a text´ ura-hozz´ af´er´es s´avsz´eless´ege a meghat´aroz´o. M´ıg a nyers er˝ot haszn´al´ o m´odszer line´arisan sk´al´az´odik a magpontok sz´am´aval, a fed´esi text´ ur´at haszn´al´ o gyors´ıt´ as ezt a probl´em´at megsz¨ unteti. B´ar az RPTAM ´ıgy is lassabb, mint a TAM, a k¨ ul¨ onbs´egnek mai hardveren nincs jelent˝os´ege. DST TAM B16 C16 B64 C64 0.54 0.28 4.80 1.66 16.6 1.81 1. t´ abl´ azat: Egy k´epkock´ ara es˝ o renderel´esi id˝ o ms-ban, 1920 × 1200-as felbont´ as mellett. A B a nyers er˝ o m´ odszer´et, a C a fed´esi text´ ur´ at jelenti, a sz´ am a magpontok sz´ ama r´etegenk´ent.
9. ´ abra: Te´ askanna-modell 4 darab, 16 magpontos r´eteggel, 600 FPS (bal), ´es 4 darab, 64 magpontos r´eteggel, 500 FPS (jobb). A k´eperny˝ ofelbont´ as: 1920 × 1200.
7.2.
Min˝ os´ eg
A m´odszer¨ unk, ak´arcsak a dinamikus t¨om¨or text´ ur´ak m´odszere, vagy a TAM, kifog´astalan id˝obeli koherenci´at biztos´ıt. A dinamikus t¨om¨or text´ ur´az´as a vonalk´az´ ast egyfajta bin´ aris st´ılussal k´epes k¨ozel´ıteni, m´ıg a mi m´odszer¨ unk stiliz´alt von´ asokkal is tud dolgozni. A TAM a mi m´odszer¨ unkkel min˝os´egben ekvivalens, de nem teszi lehet˝ov´e a v´egtelen nagy´ıt´ast. A TAM-ok k´ezzel szerkeszthet˝oek, vagy automatikusan is gener´alhat´oak, von´asok v´eletlenszer˝ u beilleszt´es´evel, a kor´ abbi von´ asokkal u ¨tk¨ oz˝ o von´asok eldob´as´aval. A TAM el˝o´all´ıt´asi m´odszere hosszadalmas pr´ob´ alkoz´ asos keres´es, m´ıg a mi magpontjaink el˝o´all´ıt´as´ara line´aris idej˝ u algoritmus adhat´o. Mindk´et m´odszer egyenletes eloszl´as´ u von´asokat hoz l´etre. A mi m´odszer¨ unk geometriai ´ertelemben garant´alja az egyenletess´eget. Enn´el fontosabb az, hogy a TAM-mal szemben a magpontokat nem kell u ´jra el˝o´ all´ıtani, ha a m˝ uv´eszi param´eterek, p´eld´aul a von´ashossz, vagy a von´astext´ ura, v´altoznak. ´Igy ezek ak´ar anim´alhat´ok is. A von´asokat egyidej˝ uleg is halv´any´ıthatjuk ´ıgy a TAM-hoz hasonl´o megjelen´ıt´est el´erve (10 ´abr´an balra), de egyenk´ent is (10 ´abr´ an jobbra), ami egyedi k´epess´eg a text´ ura alap´ u vonalk´az´asi m´odszerek k¨oz¨ ott.
Text´ ura alap´ u vonalk´ az´ as
15
10. ´ abra: Te´ askanna-modell egyidej˝ u vonalka-elhalv´ any´ıt´ assal (balra), illetve a von´ asok elhalv´ any´ıt´ asa egyenk´ent (jobbra).
8.
Tov´ abbl´ ep´ esi lehet˝ os´ egek
Amikor egy fel¨ ulet eg´esz r´eszletess´egi t´enyez˝ovel l´atszik, minden von´as teljesen l´athat´ o. Egy´ebk´ent n´eh´ any k¨oz¨ ul¨ uk elhalv´anyod´as k¨ozben ´atmeneti ´allapotban van. Ez a k¨ ul¨ onbs´eg ´eszrevehetetlen, amikor a von´asok egyenk´ent halv´anyodnak, de a st´ılus enyhe periodikus m´odosul´asa figyelhet˝o meg egyidej˝ u halv´any´ıt´as eset´en. Ez´ert szeretn´enk kiterjeszteni a be´agyazotts´ag fogalm´at s´ ulyozott magpont-halmazokra, ahol az interpol´alt halmazok ugyanolyan s´ ulyeloszl´assal rendelkeznek, ´ıgy az eg´esz szintek von´asmint´ai az interpol´altakt´ol megk¨ ul¨onb¨oztet´ hetetlenek. Ugy gondoljuk, ez egyben egy u ´j m˝ uv´eszi param´eter bevezet´es´et is lehet˝ov´e fogja tenni, ami az egyidej˝ u ´es egyenk´enti halv´any´ıt´as k¨oz¨otti k¨oztes strat´egi´ akat is lehet˝ov´e tesz. Ebben az ´atlapolt halv´any´ıt´asi modellben a von´asok egy szab´alyozhat´ o, de ´alland´o sz´azal´eka lesz ´atmeneti ´allapotban b´armely id˝opillanatban ´es r´eszletess´egi szinten. Azt is tervezz¨ uk, hogy a k¨orvonal-rajzol´asi technik´akkal val´o egy¨ uttm˝ uk¨od´est vizsg´aljuk, ´es felm´erj¨ uk, hogy k´ept´erbeli sz˝ ur´essel a von´asok t´ ulh´ uz´asa szimul´alhat´o-e.
K¨ osz¨ onetnyilv´ an´ıt´ as K¨osz¨ onj¨ uk az OTKA PD-104710 ´es az MTA Bolyai J´anos ¨oszt¨ond´ıj´anak t´amogat´as´ at.
Irodalom 1. Zainab AlMeraj, Brian Wyvill, Tobias Isenberg, Amy A Gooch, and Richard Guy. Automatically mimicking unique hand-drawn pencil lines. Computers & Graphics, 33(4):496–508, 2009. 2. Michael F Barnsley and Stephen Demko. Iterated function systems and the global construction of fractals. Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences, 399(1817):243–275, 1985.
16
Sz´ecsi ´es Szir´ anyi
3. Michael F Barnsley and Andrew Vince. The chaos game on a general iterated function system. Ergodic Theory and Dynamical Systems, 31(04):1073–1079, 2011. 4. Pierre B´enard, Adrien Bousseau, and Jo¨elle Thollot. Dynamic solid textures for real-time coherent stylization. In Proceedings of the 2009 symposium on Interactive 3D graphics and games, pages 121–127. ACM, 2009. 5. Derek Cornish, Andrea Rowan, and David Luebke. View-dependent particles for interactive non-photorealistic rendering. In Graphics interface, volume 1, pages 151–158, 2001. 6. Paul Haeberli. Paint by numbers: Abstract image representations. In ACM SIGGRAPH Computer Graphics, volume 24, pages 207–214. ACM, 1990. 7. John H Halton. Algorithm 247: Radical-inverse quasi-random point sequence. Communications of the ACM, 7(12):701–702, 1964. 8. A. Hertzmann and D. Zorin. Illustrating smooth surfaces. In Proceedings of the 27th annual conference on Computer graphics and interactive techniques, pages 517–526. ACM Press/Addison-Wesley Publishing Co., 2000. 9. Pierre-Marc Jodoin, Emric Epstein, Martin Granger-Pich´e, and Victor Ostromoukhov. Hatching by example: a statistical approach. In Proceedings of the 2nd international symposium on Non-photorealistic animation and rendering, pages 29– 36. ACM, 2002. 10. Hyunjun Lee, Sungtae Kwon, and Seungyong Lee. Real-time pencil rendering. In Proceedings of the 4th international symposium on Non-photorealistic animation and rendering, pages 37–45. ACM, 2006. 11. Barbara J Meier. Painterly rendering for animation. In Proceedings of the 23rd annual conference on Computer graphics and interactive techniques, pages 477–484. ACM, 1996. 12. Afonso Paiva, Emilio Vital Brazil, Fabiano Petronetto, and Mario Costa Sousa. Fluid-based hatching for tone mapping in line illustrations. The Visual Computer, 25(5-7):519–527, 2009. 13. Emil Praun, Hugues Hoppe, Matthew Webb, and Adam Finkelstein. Real-time hatching. In Proceedings of the 28th annual conference on Computer graphics and interactive techniques, page 581. ACM, 2001. 14. Meltem Sonmez Turan. Evolutionary construction of De Bruijn sequences. In Proceedings of the 4th ACM workshop on Security and artificial intelligence, pages 81–86. ACM, 2011. 15. Thomas Strothotte and Stefan Schlechtweg. Non-photorealistic computer graphics: modeling, rendering, and animation. Elsevier, 2002. 16. Tam´ as Umenhoffer, L´ aszl´ o Sz´ecsi, and L´ aszl´ o Szirmay-Kalos. Hatching for motion picture production. In Computer Graphics Forum, volume 30, pages 533–542. Wiley Online Library, 2011. 17. Lance Williams. Pyramidal parametrics. In ACM Siggraph Computer Graphics, volume 17, pages 1–11. ACM, 1983. 18. Andrew P Witkin and Paul S Heckbert. Using particles to sample and control implicit surfaces. In Proceedings of the 21st annual conference on Computer graphics and interactive techniques, pages 269–277. ACM, 1994. 19. Johannes Zander, Tobias Isenberg, Stefan Schlechtweg, and Thomas Strothotte. High quality hatching. In Computer Graphics Forum, volume 23, pages 421–430. Wiley Online Library, 2004.