• 14jan


    Amióta világ a világ és az ember tudatára ébredt, a számtalan egyéb tevékenységén kívül mindig is törekedett arra, hogy reprodukálja azt, ami körülveszi. Ezt a törekvést a számítógép megjelenése sem befolyásolta, csak új irányokat adott neki. Innen gyökerezik a számítógépes grafika, amely megjelenése óta óriási fejlődésen ment keresztül. Mára már képesek vagyunk megjeleníteni kockákat, gömböket, sőt autókat, házakat. De akármennyire is próbálkozunk élethű képeket, mozgóképet – beleértve a játékokat is – létrehozni, a látvány valahol sántítani fog növényzet nélkül. Elég csak napjainkban készített épület-látványtervekre gondolni, ahol néhány rosszul előkészített fényképet biggyesztenek utólag az elkészült, igen dekoratív ház mellé, vagy a játékokra, ahol a főhős erdő helyett néhány csenevész ágacskát lát az esetek többségében (persze kivételek mindig vannak, például Crysys vagy Elder Scrolls IV: Oblivion). Napjaink mozifilmjeiben igencsak gyakori a számítógéppel készített erdő. Az imént említett példák (szórakoztatóipar, építőipar) napjaink legnagyobb bevételét magukénak tudó, legdinamikusabban fejlődő iparágai (2006-ban az USA játékiparának bevétele 13,5 milliárd dollár).

    A kívánt látvány létrehozása azonban nem olyan egyszerű. Napjaink hardverei oly módon vannak optimalizálva, hogy a háromszögekből álló felületeket tudják gyorsan és hatékonyan megjeleníteni. Ahhoz tehát, hogy ezt kihasználhassuk, a bonyolult testeinket valamilyen módon egy háromszögekből álló hálóval kell közelíteni. Egy kockánál például ez nem is probléma, hiszen egy oldal 2 háromszöggel leírható, tehát az egész kocka 12 háromszögből áll. Már azonban egy hengert sem ilyen egyszerű háromszögekből felépíteni, hát még egy egész fát. Ha egy átlagosnak számító 30 éves fának minden évben minden ága csak egy új gallyá fejlődő rügyet képez, akkor is – egyszerű matematikával kiszámítható – 230, azaz több mint 1 milliárd ága, és ugyanennyi levele lesz. Ha minden egyes ágat például 32 háromszöggel jelenítünk meg, ami még elég szögletes eredményt ad, akkor is látható, hogy napjaink grafikus kártyáival – melyek másodpercenként 1 milliárd háromszöget képesek megjeleníteni (GeForce 8800GT X) – egy egész erdő képernyőre varázslása lehetetlennek tűnik.

    A számítógépes grafikában alkalmazott, általánosan elterjedt gyorsítási eljárások nem minden esetben – sőt általában nem – alkalmazhatók az olyan sok egyedi tárgyból álló rendszerre, mint amilyen az erdő. Az évek folyamán sok próbálkozás született a probléma áthidalására. Ezért a célom az, hogy bemutassam azokat a technikákat, eljárásokat, melyekkel ma fákat, erdőket generálnak és jelenítenek meg, és implementáljak egy olyan algoritmust, mellyel sok különböző fajtájú fát lehet a képernyőn megjeleníteni.

    A 2. fejezetben sorra bemutatom az ezen témában korábban megjelent publikációkat, kitérve azok előnyeire, hátrányaira. A 3. fejezetben az általam megvalósított rendszer terveit ismertetem. A 4. fejezetet ezen rendszer implementációjának fontosabb részleteinek szenteltem. Az 5. fejezet a működő rendszer elemzéséről és a továbbfejlesztés lehetőségeiről szól.

    A mellékletben a rendszer működése során készített képernyőképeket, a működéshez szükséges állományok leírását, a futás során használható billentyűk leírását és a rendszer forráskódjának elérhetőségét helyeztem el.






    Kapcsolódó bejegyzések


    Katalógus:

Szólj hozzá!