BSP-fák használata játék- engine fejlesztésében a nagy kiterjedésű zárt terek megjelenítéséhez Előadó: Boromissza Gergely Konzulens: dr. Szirmay-Kalos.

Slides:



Advertisements
Hasonló előadás
Készítette: Nagy Mihály tanár Perecsen, 2006.
Advertisements

Nevezetes algoritmusok
Fejmozgás alapú gesztusok felismerése
L ÁTHATÓSÁG MEGHATÁROZÁSA tavaszi félév.
Horváth Zsolt Schnádenberger Gábor Varjas Viktor
Árnyalás – a felületi pontok színe A tárgyak felületi pontjainak színezése A fényviszonyok szerint.
Számítógépes algebrai problémák a geodéziában
Matematika II. 4. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
Geometriai Transzformációk
Geometriai transzformációk
Számítógépes grafika Szirmay-Kalos László
Sugárkövetés: ray-casting, ray-tracing Szirmay-Kalos László.
Számítógépes grafika Szirmay-Kalos László
3D képszintézis fizikai alapmodellje
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
Mozgó Objektumok Detektálása és Követése Robotkamera Segítségével
Lineáris és nemlineáris regressziók, logisztikus regresszió
Genome2D: bakteriális transzkriptóma megjelenítését szolgáló eszköz (szoftver) Csernetics Árpád Bioinformatika SZIT ápr. 18.
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
TÁMOP A-11/1/KONV projekt „Telemedicína fókuszú kutatások Orvosi, Matematikai és Informatikai tudományterületeken” Szívhang monitorozása.
Példatár Egyenes egyenlete a síkban
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Számítógépes grafika, PPKE-ITK, Benedek Csaba, D képszintézis 4. előadás.
A számítógépes grafika céljai és feladatai
„Országos” feladat. Feladat: Egy tetszőleges, színes országokat tartalmazó térképen akar eljutni egy kommandós csapat egy országból egy másikba. Viszont.
© Kozsik Tamás Csomagok. © Kozsik Tamás A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok.
Delaunay háromszögelés
Matematika III. előadások MINB083, MILB083
Mérnöki Fizika II előadás
Hálózati Bombermen Belicza András Konzulens: Rajacsics Tamás BME-AAIT.
Fejmozgás alapú gesztusok felismerése Bertók Kornél, Fazekas Attila Debreceni Egyetem, Informatikai Kar Debreceni Képfeldolgozó Csoport KÉPAF 2013, Bakonybél.
Gyengén nemlineáris rendszerek modellezése és mérése Készítette: Kis Gergely Konzulens: Dobrowieczki Tadeusz (MIT)
Készítette: Gergó Márton Konzulens: Engedy István 2009/2010 tavasz.
Vektorok © Vidra Gábor,
Lineáris programozás.
2D képszintézis Szirmay-Kalos László.
Számítógépes grafika Bevezetés
3D képszintézis fizikai alapmodellje Szirmay-Kalos László Science is either physics or stamp collecting. Rutherford.
Transzformációk Szirmay-Kalos László. Transzformációk (x,y) (x’,y’) = T(x,y) l Tönkre tehetik az egyenletet l Korlátozzuk a transformációkat és az alakzatokat.
Programmozás Feladatok Telek Miklós BME Híradástechnikai Tanszék
TransMotion Emberi mozgás digitalizálása
Kézmozdulat felismerő rendszer
Árnyalás – a felületi pontok színe A tárgyak felületi pontjainak színezése A fényviszonyok szerint.
4.4. Láthatóság - takarás A látványban takart részek elhagyása vagy a látható részek kiválasztása.
4.6. A Fénysugár-követés módszere (ray-tracing) Mi látható a képernyőn, egy-egy képpontban ? (4.4.LÁTHATÓSÁG) A képponton át a szembe jutó fénysugár melyik.
Valós idejű adaptív útvonalkeresés
Árnyalás – a felületi pontok színe A tárgyak felületi pontjainak színezése A fényviszonyok szerint.
Készítette: Hanics Anikó. Az algoritmus elve: Kezdetben legyen n db kék fa, azaz a gráf minden csúcsa egy-egy (egy pontból álló) kék fa, és legyen minden.
2.2. Az egyenes és a sík egyenlete
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Bevezetés a számítógépi grafikába 2. Paraméteres görbék Paraméteres görbe: 2D-ben: paraméter: általában: kikötések: legyen folytonos legyen folytonosan.
Fotorealisztikus képszintézis valós időben Szirmay-Kalos László, Csébfalvi Balázs BME IIT.
Szabályzó tervezése intelligens kamerával
A geometriai magasságmérés
Mappa- és fájlműveletek
Útkeresések.
Menetrend optimalizálása genetikus algoritmussal
4.6. A Fénysugár-követés módszere (ray-tracing) Mi látható a képernyőn, egy-egy képpontjában ? És az ott milyen színű ? (4.7. Árnyalás)
Fórum alkalmazás tervezése Készítette: Lückl Roland és Horváth Gergely és implementálása.
A számítógépes grafika alapjai, PPKE-ITK, Benedek Csaba, 2010 Tanagyag forrás © Szirmay-Kalos László, BME A számítógépes grafika céljai és feladatai 1.
INFOÉRA Gráfok, gráfalgoritmusok II. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai.
1 13. AZ OBJEKTÍV LÁTÓSZÖGE Jegyzet Készítette: Nikli Károly 2013.
„Három a Károly” Félmaraton egyéni A tavalyról már ismert három szakaszos váltóverseny útvonalát kiegészítettem egy 5,05 km-es oda-vissza szakasszal.
SKALÁROK ÉS VEKTOROK.
6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése
Szabályozás-vezérlés
6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése
C/C++, hobbi játékprogramozás
43. Gombaszedés Kováts László.
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

BSP-fák használata játék- engine fejlesztésében a nagy kiterjedésű zárt terek megjelenítéséhez Előadó: Boromissza Gergely Konzulens: dr. Szirmay-Kalos László

Bevezetés I.  BSP-fa használat –1990-es évek: Doom –2000-es évek: Quake –2005: Half-Life 2

Bevezetés II.  Videokártyák rohamos fejlődése –Több millió háromszög másodpercenként  Felhasználói igények növekedése –Élethű környezet (még több háromszög) –Dinamikus elemek, árnyékok –Minél nagyobb FPS –Rövid várakozási/betöltési idő

Bevezetés III. Teljes terep kirajzolása  Részletes kidolgozottság –Nagyon sok háromszög –Lassú megjelenítés (kicsi FPS)  Elnagyolt kidolgozottság –Gyors megjelenítés –Csúnya terek

Bevezetés IV.  Pálya szétszabdalása –Kicsi pályarészek –Várakozás az új részek betöltésére –Lineáris játékmenet –Dinamikus pályarész betöltés

Bevezetés V.  BSP-fák ötlete –Játéktér strukturális felépítése –Csak a szükséges méretű játéktér megjelenítése –Vizsgálatok (pl. ütközésdetektálás) csak az aktuális térrészben –Előfeldolgozási időben számolható –Minimális valós-idejű számítási igény –Lehet részletesen kidolgozott terep –Elfogadható FPS

Kd-fa  Kd-fa –A teret a tengelyekkel párhuzamos hipersíkokkal osztjuk ketté úgy, hogy… –a sík két oldalán közel azonos számú poligon legyen, mindaddig… –amíg elegendően kevés poligon nem lesz minden egyes térrészben.

BSP-fa  BSP-fa (Kd-fa kiterjesztése) –A teret a pálya egy poligonjának síkjával osztjuk ketté úgy, hogy… –minél kevesebb poligont vágjunk ketté és… –a sík két oldalán közel azonos számú poligon legyen mindaddig… –amíg minden egyes térrészben a poligonok által alkotott alakzat konvex nem lesz.

BSP-fa struktúra BSPNode (root) •cutterPlane •boundingBox BSPLeaf (front) •polygonList •boundingBox BSPNode (behind) •cutterPlane •boundingBox BSPLeaf (front) •polygonList •boundingBox BSPLeaf (behind) •polygonList •boundingBox

BSP-fa használata  Különféle vizsgálatokhoz –Csak az aktuális térrészben szükséges  Megjelenítéshez –Aktuális térrész –Aktuális térrészből látható térrészek

Aktuális térrész keresése  Rekurzív algoritmus 1.Induljunk el a gyökértől 2.A vizsgált pont (aktuális pozíció) és a csomópont vágósíkjának viszonya szerint lépjünk tovább a gyerekek felé (front vagy behind) 3.Ismételjük a 2. pontot rekurzívan mindaddig, amíg levélhez nem érünk. 4.A levél reprezentálja a térrészt, amiben aktuálisan tartózkodunk

Átjárás a térrészek között I.  Szükség van rá, mert… –nem feltétlenül csak az aktuális térrész látható az aktuális pozícióból, hanem… –a szomszédosak is látszódhatnak  Módszer –A térfelosztás után még előfeldolgozási időben döntsük el minden egyes térrészre, hogy abból mely más térrészek látszódhatnak –Tároljuk el ezt is a struktúránkban

Átjárás a térrészek között II.  Megvalósítás –Számoljunk a térrészekhez befoglaló dobozt –Amennyiben a befoglaló dobozoknak van közös részük, mondjuk azt, hogy van átjárás a térrészek között –Tároljuk ezt az információt egy vektorban, ahol egy bit jelöli az átjáró létét a két térrész között

Megjelenítés I.  A látható térrészek összegyűjtése 1.Keressük meg, mely térrészben tartózkodunk aktuálisan 2.Gyűjtsük össze az innen látható térrészeket 3.Dobjuk el ezek közül a már vizsgált, és az aktuális kamera beállítások mellett nem látszódó térrészeket (befoglaló dobozos vizsgálat) 4.Végezzük el rekurzívan minden egyes megmaradt térrészre a vizsgálatokat a 2. ponttól kezdődően

Megjelenítés II.  Jelenítsük meg az így összegyűjtött látható térrészek összes háromszögét –ha az aktuális térrésszel kezdünk, akkor a Z-bufferbe való írások száma jelentősen lecsökken, mert… –a jelenleginél közelebbi térrészek, illetve háromszögek nem lehetnek

Példa

Példa a

Példa a b

Példa a b 21

Példa a cb 21

Példa a c 43 b 21

Példa  Átjárhatóságok –1-2 –2-4 –3-4

Példa  Avatar térrésze –1  Látható térrész(ek) –2  Valóban látható –2  Onnan látható –1; 4  Nem vizsgált térrész –4  Valóban látható –n.a.  Összes látható –1; 2

Eredményeim I.  BSP készítő program –Bemenet: OBJ fájl  Háromszögesített  Befele néző normálokkal  Avatar kezdőpontja a (0; 0; 0)-s koordinátában  Elegendően magas mennyezet (avatar szempozíciója 1 egység magasan) –Kimenet: BSP fájl  Saját készítésű  Alapötlet a Quake 3 formátuma alapján

Eredményeim II.  BSP megjelenítő program –DirectX 9.0c használata –BSP fájlok betöltése –Megjelenítés  Adott térrész zöld színnel  Többi látható térrész pirosból kékbe átmenő árnyalattal –Mozgás  Felhasználói irányítás (mozgás, ugrás)  Minimális fizika (gravitáció, csúszás, ütközés)

Továbblépés  Anyag jellemzők és textúra használata MTL fájlból  Láthatósági feltételek finomítása –egyszerűen és gyorsan kezelhető –megbízható módszerre  Fizikai modell finomítása

Köszönöm a figyelmet!