Treiber initialisieren
Der Programmkopf ist fertig, alles Weitere folgt in der main-Funktion.
Zunächst wird mit der Funktion irr::createDevice ein Treiber initialisiert.
Der erste Parameter deviceType bestimmt den Treibertyp, in diesem Fall video::EDT_OPENGL für
OpenGL. Weitere Möglichkeiten sind EDT_SOFTWARE, EDT_BURNINGSVIDEO (beides Software Renderer), EDT_DIRECT3D8 und EDT_DIRECT3D9 (DirectX), sowie EDT_NULL (null-device).
Der zweite Parameter windowSize gibt die Fenstergröße an.
Dritter Parameter bits: Bits pro Pixel im Vollbildmodus. Wird im Fenstermodus ignoriert.
Der nächste Parameter fullscreen setzt das Flag für den Vollbildmodus, in diesem Fall läuft das Programm also in einem Fenster.
Stencilbuffer shadows können mit dem folgenden Flag an- oder ausgeschaltet werden. Dabei muss nicht unbedingt darauf geachtet werden, ob der ausgewählte Treibertyp diese unterstützt: Falls nicht, werden sie eben einfach nicht gezeichnet.
Der 6. Parameter vsync regelt die vertikale Synchronisierung. Standardmäßig ist sie ausgeschaltet.
In dem nächsten Parameter receiver kann ein Eventreceiver angegeben werden. In dieser Szene gibt es keinen, also wird 0 übergeben.
Der letzte Parameter sdk_version_do_not_use schließlich dient einer internen Versionsprüfung und darf nicht verändert werden.
int main()
{
//create open gl device
IrrlichtDevice *irrDevice = createDevice(EDT_OPENGL,
dimension2d(640, 480),
32,
false,
true,
false,
0);
Anschließend ist es sinnvoll, Pointer auf einige wichtige Gerätemanager zu erstellen, einfach weil es eine Menge Tipparbeit spart und übersichtlicher ist.
IVideoDriver* irrDriver = irrDevice->getVideoDriver();
ISceneManager* irrSceneMgr = irrDevice->getSceneManager();
IGUIEnvironment* irrGUIEnv = irrDevice->getGUIEnvironment();
zurück
weiter