OpenGL projekt v C ++
Tento projekt som začal ako spôsob naučenie sa C ++, OOP a OpenGL. Preto v ňom nehľadajte nič odborného, ale nemyslím si, že by bol tak hrozne písaný. Jeho zverejnením mi ide o to podeliť sa o svoje znalosti a skúsenosti s inými, možno aj väčšími začiatočníkov ako som ja.
Program po spustení len vypustí kocku stálou rýchlosťou po osi X a umožní hýbať kamerou. Nie je to nič moc, ale hodlám v tomto projekte pokračovať, aj keď neviem čo má byť jeho cieľom. To čo sa na scéne objaví sa dá v kóde jednoducho upraviť. Do funkcie main () stačí pred hlavnou slučku programu (while (1)) pridať kód:
new Cube(x, y, z, l);
Cube::Cache->SetForce(x, y, z);
Cube::End();
Prvý riadok vytvorí kocku na súradniciach (X, Y, Z) o vzdialenosti L k stenám kocky. Druhý riadok potom nastaví vektor, po ktorom sa kocky bude, viac menej (áno tu je jedna chyba), po stále trajektóriu rovnomerne pohybovať. Tretí riadok je nepovinný rovnakú funkciu zaistí použitie toho prvého znova. Znamená len že ďalšie informácie sa nebudú týkať tejto kocky.
Ak si chcete vytvoriť vlastné teleso, stačí aby dedilo od class Shape, ktorá je v Shapes / Shape.ha hlavičkový súbor vášho telesa bude includován do Shapes / Shapes.h. Musí implementovať všetky rýdzo virtuálne metódy classy Shape.
Funguje aj gravitácie, ale je vypnutá, pretože kamera je reprezentovaná tiež objektom, na ktorý gravitácia tiež platí a neexistuje žiadny náznak terénu alebo kolízií. Gravitáciu zapnete v PhysicEngine.ha potom v main odporúčam zmeniť parameter odovzdávaný class Player movable na STATIC. Potom na kameru nebude fungovať gravitácia.
Akékoľvek otázky okolo zdrojového kódu rád odpoviem.
Galéria
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 531x (989.99 kB)
Aplikácia je vrátane zdrojových kódov v jazyku C++