Valósághű részecske szimuláció és megjelenítés Ogre3D és PhysX használatával

OData támogatás
Konzulens:
Dr. Umenhoffer Tamás
Irányítástechnika és Informatika Tanszék

Számítástechnikában a játékfejlesztés az egyik talán legösszetettebb és legbonyolultabb feladatok közé tartozik. A bonyolultságát részben az adja, hogy egyre erőforrás igényesebb, szebb megjelenítést kell a játékos szeme elé tárni, úgy, hogy közben ne csak a legdrágább ”hardware-n” lehessen mindezt élvezni. A feladatom, hogy az Ogre3D grafikai motor és az Nvidia PhysX fizika szimulációs motor összepárosításával egy részecske alapú folyadék szimulációt megvalósítsak. Mindkét rendszer elfedi az általuk felhasznált alacsonyabb könyvtárakat, és egy magasabb absztrakciós szintet biztosít ezáltal a programozónak.

Az általam készített ”mini-API” is ezt a célt szolgálja, hogy a folyadék szimulációt ne kelljen minden esetben újra és újra lefejleszteni, hanem csak egy plugin-ként betöltve, a jelenethez pár sort hozzáadva megvalósul a kívánt folyadék jelenség.

Az említett két rendszer a következőképpen fog együttműködni. A grafikus motor (Ogre3D) fogja szolgáltatni azon részecskék összességét, amelyek a folyadék mozgásának alapjául szolgálnak, egész pontosan amikből felépül majd jelenet. Tehát első körben létrehozza az alap alkotóelemeket. Ezután a fizikai motor feladata lesz, hogy a megkapott részecskéket közel valósághűen leszimulálja. Értem ezalatt azt, hogy a részecskék ütköznek egymással, más merevtestekkel, pl.: kád fala, talaj. Utolsó lépésben a meghatározott paraméterekkel frissíteni kell minden egyes részecskét. Ilyen paraméter lehet az aktuális pozíció, ”él-e” még a részecske, stb.

Mindezen alkalmazás elkészítéséhez meg kell ismerkedni a két motor alapjával, különösen a kapcsolódó fejezetekkel. Továbbá a felhasználandó technikák közül elengedhetetlen a részecskerendszernek, plakátmegjelenítésnek, PhysX fluid technikájának ismerete.

Szándékomban áll egy olyan, mások által használható ”folyadék könyvtár” létrehozása, amelyet bármely Ogre-t és PhysX-t használó játékban könnyen felhasználhat, és felparaméterezhet kedve szerint. Ezáltal sikerülne ezt a feladatot egy magasabb absztrakciós szintre emelni, ami a programozás, fejlesztés egyik lényege.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.