Játékmotor-fejlesztés Direct3D11 alapon

OData támogatás
Konzulens:
Dr. Szécsi László
Irányítástechnika és Informatika Tanszék

Az elmúlt 30-40 évben a számítógépes játékok fejlesztésére külön iparág épült ki. Eleinte a fejlesztők az alapoktól írták a játékaikat, idővel azonban felmerült az igény a játékfejlesztést támogató keretrendszerekre, azaz a játékmotorokra. Ahogy a számítógépekben rejlő grafikus processzorok sebessége egyre növekedett, úgy tűnt el a két dimenzió korlátja. A mai játékmotoroknak grafikai szemszögből nézve az egyik legfontosabb tulajdonsága, hogy milyen grafikus technikákat tudnak alkalmazni a kívánt látvány megjelenítésének érdekében. Fontos szempont az is, hogy mennyire támogatja a motor a játék fejlesztőinek munkáját.

Szakdolgozatomban egy játékmotort készítettem el, melynek grafikus megjelenítéséhez a Direct3D 11 API-t használtam. A motor funkcióinak kiválasztásakor szem előtt tartottam a kipróbált, népszerű technikákat. A motor ismeri a shadow mapping nevű eljárást több fényforrásból számolt árnyékszámításra, az SSAO technikát, a normal mapping és a parallax mapping nevű technikákat, részecskerendszereket és a render-to-texture eljárást pl. tükröződő víz, vagy tükrök létrehozására. A színtérben szereplő objektumok fizikai szimulációjáról az NVIDIA PhysX nevű fizikai motorja felel, melyet integráltam a játékmotorba. A játékfejlesztők munkáját segítendő, a motorba integrálva lett egy Lua szkriptnyelv feldolgozó, így a játék logikája teljes mértékben megírható külső szkriptfájlokban. A szakdolgozatom lapjain szerepel ezeknek a funkcióknak a megvizsgálása, és implementálásuknak részletei.

Végeredményben összegzem az elért eredményeket, leírom a jövőbeni továbbfejlesztési lehetőségeket.

Letölthető fájlok

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