OGRE/Pierwszy program
Windows
[edytuj]#include "Ogre.h" #include "ExampleApplication.h" #include <windows.h> // Dziedziczymy ExampleApplication class FirstApp : public ExampleApplication { public: FirstApp() { } /** createScene jest funkcją czysto wirtualną w ExampleApplication, * nadpisujemy ją, aby nic nie robiła. * Na początku tworzy ona pustą scenę. **/ void createScene(void) { } }; INT WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,INT) { FirstApp myApp; // Tworzymy instancję naszej klasy try { // Wychwytuje powstałe wyjątki, które mogą powstać myApp.go(); // ExampleApplication dostarcza metodę go, która rozpoczyna rendering } catch (Ogre::Exception& e) { MessageBox( NULL, e.getFullDescription().c_str(), "Wyjątek!", MB_OK | MB_ICONERROR | MB_TASKMODAL); } }
Linux
[edytuj]#include <Ogre.h> /* Wszystkie nagłówki OGRE */ #include <iostream> /* Umożliwia wypisywanie błędów na konsole */ #include "ExampleApplication.h" // Dziedziczymy ExampleApplication class FirstApp : public ExampleApplication { public: FirstApp() { } /** createScene jest funkcją czysto wirtualną w ExampleApplication, nadpisujemy ją, aby nic nie robiła. * Na początku tworzy ona pustą scenę. **/ void createScene(void) { } }; int main(int argc, char **argv) { FirstApp myApp; // Tworzymy instację naszej klasy try { myApp.go(); // ExampleApplication dostarcza metodę go, która rozpoczyna rendering return 0; // Zwraca 0 w przypadku powodzenia } catch (Ogre::Exception& e) { std::cerr <<"Wyjątek:\n"; std::cerr <<e.getFullDescription().c_str() <<"\n"; return 1; // Zwrócenie liczby różnej od zera oznacza niepowodzenie } }
Dodatkowe informacje związane z Linuksem
[edytuj]Pliki Samples/Common/include/ExampleApplication.h, Samples/Common/include/ExampleFrameListener.h i Samples/Common/include/ExampleLoadingBar.h powinny zostać przekopiowane do katalogu, w którym chcesz zapisać plik z kodem źródłowym.
Zapisz plik jako main.cpp i przekompiluj go poleceniem:
$ gcc `pkg-config --cflags OGRE` `pkg-config --libs OGRE` main.cpp
Następnie przekopiuj plik wykonywalny a.out do Samples/Common/bin, przejdź do tego katalogu i uruchom go poleceniem
$ ./a.out
Jeśli pkg-config nie może odnaleźć OGRE utwórz plik OGRE.pc w odpowiednim katalogu za pomocą polecenia:
$ ln -s /usr/local/lib/pkgconfig/OGRE.pc /usr/lib/pkgconfig/OGRE.pc
Oczywiście zakładamy, że plik OGRE.pl znajduje się w /usr/local/lib/pkgconfig/.
Zamiast kopiować przekompilowany program do Samples/Common/bin możesz przekopiować pliki plugins.cfg i resources.cfg do katalogu ze swoim projektem, a następnie skonfigurować ścieżki w resources.cfg. W przypadku tworzenia większych projektów jest to najlepsze rozwiązanie.