Ogre3d tutorial: prvi deo
Evo ga prvi deo tutoriala o Pongu i Ogre3d-u. Ako sada znate da nabavite kod možemo da nastavmo. Ovaj prvi tekst će se više fokusirati na podešavanja i pristup izradi projekta, a kasnije ćemo ući u kod i tehničke detalje.
Build projekta
Kao što sam već napomenuo u verziji 0.1 jedino podržano razvojno okruženje je MSVC9 i neke stvari će biti specifično vezane za ovo okruženje. Ako želite da pokrenete projekat u nekom drugom okruženju ili drugoj platformi slobodno me kontaktirajte. Prvo sledi lista sa bibliotekama koje su vam potrebne da biste mogli da pokrenete projekat:
Ogre3D - v0.1 Ponga radi sa verzijom 1.6.5 Ogre-a, prelazimo na najnoviju verziju 1.7.1 uskoro. Ne mogu da garantujem da će v0.1 kod raditi sa novim Ogre-om, ali kod iz trunka uskoro hoće. Ostaje pitanje da li skinuti prekompajlirani SDK ili source. Ja koristim source da bih mogao lakše da debugujem kad Ogre zakaže, a i volim da čeprkam po low-level implementacijama nekih stvari. Koga to ne zanima lakši će mu život biti sa SDKom. Neke putanje će možda morati da se menjaju, uskoro ćemo to rešiti kada neko proba sa SDKom. Linkovi od interesa: Building Ogre from source i Installing and using Ogre SDK
Boost - Ovaj sa sobom ne donosi neke komplikacije, mada je prilično velik set biblioteka.
Newton 2.x - v0.1 je furala Newton 2.18, ali mislim da ni sa 2.20 neće biti problema, ionako prelazimo na najnovije verzije. Samo skinite i otpakujte.
OgreNewt - Ovaj morate da nabavite sa svn-a i sami ga buildujete. https://svn.ogre3d.org/svnroot/ogreaddons/branches/ogrenewt/newton20/ Jedini problemi mogu da se pojave sa putanjama sa novom verzijom Ogre-a
OpenAL - Samo skinite i instalirajte SDK
OgreOgg - I ovde mora ručni build, imao je bag sa pogresnom putanjom ka EFX-Util_MT direktorijumu u OpenAL SDK-u, ali mislim da su to ispravili
To je to što se tiče biblioteka, ali pre nego što pokušate da buildujete pong morate da podesite neke sistemske promenljive (morate to da uradite i pre nego što pokušate da ručno buildujete biblioteke). Na Win7 to radite tako što idete na Control Panel -> System and Security -> System -> Advanced system settings -> Environment Variables. Na XP-u nije mnogo drugačije. Kliknite New pod User variables (ili System variables kako vam volja). U polje name pišite imena iz liste koja sledi, a u polje value pišite celu putanju ka odgovarajućem direktorijumu:
OGRE_HOME
BOOST_HOME
NEWTON_HOME
OGRE_NEWT_HOME
OPENAL_SDK
OGREOGG
Ako vam neki projekat zatraži drugačije ime, samo dodajte i to ime u sistemske promenljive da pokazuje na %PRVO_IME%. Ili jednostavno promenite u podešavanjima tog projekta. Verovatno će biti potrebni i NEWTON i BOOST_ROOT.
Kratko objašnjenje o podešavanjima i MSVC9. Fajl Pong.vcproj.user je zadužen za nasleđivanje podešavanja. Pri prvom pokretanju Pong.vcproj automatski generiše fajl Pong.vcproj.ime_računara.korisničko_ime.user koji čuva sva vaša podešavanja. Ako želite da pošaljete vaša podešavanja na server morate da izbrišete Pong.vcproj.user, preimenujete vaš fajl u isti i onda obavite commit. Ako želite nova podešavanja sa servera morate ručno da obrišete vaš Pong.vcproj.ime_računara.korisničko_ime.user da bi se ponovo generisao iz Pong.vcproj.user fajla. Ako neko ima drugačije rešenje za deljenje podešavanja neka me obavesti. Od fajla Pong.vcproj.user se očekuje da ta podešavanja uvek rade, sa prethodno podešenim bibliotekama.
OK sada ću pretpostaviti da ste uspeli da buildujete projekat, ali mukama još nije kraj, još uvek ne možete da ga pokrenete. Sada treba ručno da kopirate sledeće *.dll fajlove u Debug direktorijum. Uskoro ćemo napisati batch skriptu koja ovo radi za Visual Studio:
CEGUIBase_d
CEGUIExpatParser_d
CEGUIFalagardWRBase_d
cg
JointLibrary
newton
OgreGUIRenderer_d
OgreMain_d
OgreNewt_d
OgreOggSound_d
OIS_d
Plugin_CgProgramManager_d
Plugin_OctreeSceneManager_d
Plugin_ParticleFX_d
RenderSystem_Direct3D9_d
RenderSystem_GL_d
Ako želite da pokrenete Release verziju, nadjite odgovarajuće *.dll (odnosno *.so, za linuksaše) fajlove, to su oni koji se zovu isto kao Debug parnjaci samo nemaju _d na kraju.
Ako i dalje neće da radi iskoristite zdrav razum ili google ili kontaktirajte mene. U slučaju da sve radi bez problema slobodno pređite na drugi deo.