Graphics Course Project
C++ C
Switch branches/tags
Nothing to show
Latest commit 491eec5 Dec 13, 2011 @TomasKimer TomasKimer drobne cisteni kodu
Permalink
Failed to load latest commit information.
3ds prvni nastrel prepracovanych shaderu Dec 13, 2011
dokumentace jeste mensi uprava dokumentace Dec 13, 2011
materials uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
models uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
.gitignore funkcni zaklad fyziky + debug jeji debug kresleni Nov 30, 2011
BaseApp.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
BaseApp.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
BaseModel.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
BaseModel.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Camera.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Camera.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Debug.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Exceptions.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
FpsCounter.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Game.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Game.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
GameTime.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Gui.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Gui.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Light.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Mesh.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Mesh.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
ModelContainer.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
ModelContainer.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Physics.cpp drobne cisteni kodu Dec 13, 2011
Physics.h drobne cisteni kodu Dec 13, 2011
PhysicsCar.cpp drobne cisteni kodu Dec 13, 2011
PhysicsCar.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
PhysicsCarConfig.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
PhysicsCheckpoint.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
PhysicsCheckpoint.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
PhysicsDebugDraw.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
PhysicsDebugDraw.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
PhysicsUtils.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
PhysicsUtils.h drobne cisteni kodu Dec 13, 2011
README.md uprava formatovani README Oct 13, 2011
Scene.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Scene.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
ShaderManager.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
ShaderManager.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
ShadowVolumes.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
ShadowVolumes.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
Utils.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
main.cpp uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011
main.h uprava barev modelu + doplneny hlavicky do vsech souboru Dec 13, 2011

README.md

Jak to funguje

main.cpp zajišťuje inicializaci SDL, spuštění hlavní smyčky a přeposílání eventů aplikaci.

Samotnou aplikaci pak představuje potomek třídy BaseApp, který podle potřeby překrývá defaultní handlery událostí. (Důležité jsou zejména metody onInit a onWindowRedraw - pojmenování je stejné jako v souborech ze cvičení.) Jeden potomek je tedy samotná hra, další může být menu a podobně. Dokonce by mělo být možné používat více potomků současně - například vykreslit snímek hry, event předat objektu menu, který do snímku ještě vloží menu. Alespoň teoreticky by to takhle fungovat mohlo, vyzkoušené to nemám :-)

Git

Jestli nevíte jak na Git, je to jednoduché, snad je na to i nějaké GUI. Bohatě ale stačí příkazový řádek, terminál nebo tak něco. Velice pěkně popsané příkazy jsou tady: http://gitref.org/remotes/ . Pro běžné verzování mi prozatím vždycky stačil následující postup:

  • pull (stáhne data ze vzdáleného repozitáře)
  • (log - vypíše poslední commity a jejich zprávy)
  • upravení souborů, přidání, smazání
  • (status - vypíše co se změnilo, co už je přidané do commitu,...)
  • add (přidá soubory do commitu)
  • commit (uloží commit, je možné a vhodné vložit zprávu)
  • push (nahraje commit do vzdáleného repozitáře)

Verzování

Bylo by určitě dobré používat branche, alespoň ze začátku, než to slepíme dohromady. Viděl bych to tak, že si můžete udělat vlastního potomka BaseApp, kde by vám mohlo stačit upravovat asi jen onWindowRedraw a onInit. Ikdyby toho ale bylo víc, tak to nevadí, bude to vaše třída, můžete si tam dělat co chcete :-) Výhoda je v tom, že stačí upravit jediný řádek v main.cpp a tím se všechny eventy a jejich obsluha přesune na vaši třídu. Díky tomu budeme moct vyvíjet nezávisle na sobě, ale současně sdílet některé funkce - když například přidám nějaké načítání modelů, budete ho moct použít taky, protože bude buď v oddělené třídě anebo v BaseApp.

Takže ideálně každý svoji branch + vlastní implementace BaseApp.

Taky do Gitu nenahrávejte soubory vašeho IDE, includy knihoven a jiné věci, co se dají stáhnout, nainstalovat,... Aby vám Git při každém add nepřidával konfigurační soubory IDE a jiné, můžete masky přidat do .gitignore.