retruned IrrlichtDevice, som enheten variable peker på, er roten objekt for å bruke motoren. Den inneholder de fleste av de stedene vi skal bruke når du arbeider den underliggende 3D-motor. Den createDevice funksjon skaper også vinduet som vises 3D-scenen vil vi (eventuelt) lage.
Den tittelen på vinduet er satt ved å kalle IrrlichtDevice setWindowCaption funksjonen.
Neste vi trenger å få noen tips til skjermdriveren og scenesjef holdt av IrrlichtDevice.
Dette er egentlig bare for enkelhets skyld: vi er ikke å lage disse stedene, bare å få en peker til dem fra IrrlichtDevice
Shutdown funksjon i hovedsak gjør det motsatte av oppstartsfunksjonen.. Vi kaller det IrrlichtDevice slipp-funksjonen, som vil slette IrrlichtDevice. Som regel noen Irrlicht objekt som er instansiert med en funksjon som starter med ordet "skape" (som createDevice) må bli ødelagt ved å kalle sin slipp-funksjonen.
Irrlicht opprettholder en referanse teller bak kulissene, som gir den en svært grunnleggende form for søppelrydding, og de skaper og slipp funksjoner lar Irrlicht vite når det ikke er flere referanser til et objekt. Den InitialiseVariables funksjonen kalles da for å sette alle variablene tilbake til NULL.
Nesten hver 3D-program du vil gjøre (med Irrlicht eller annet) har det som kalles en gjengi loop. Dette er en loop som oppdaterer programmet (ved å flytte objekter rundt, skyte kuler, oppdatering partikkel-systemer etc) og deretter gjengir resultatet av at rammen til skjermen.
Den StartRenderLoop funksjon inneholder vår gjengi loop.
Sløyfen vil løpe frem på enhets> run () returnerer false. Innenfor sløyfen vi kaller Driver> beginScene (...), som må kalles før rendering er gjort. De to første paramaters tyder på at vi ønsker å fjerne tilbake buffer og z buffer, som i hovedsak rydder unna noen informasjon fra den siste rammen. Den tredje paramater definerer hvilken farge det tilbake buffer vil bli ryddet med.
Neste vi trekke scenen manager.
Som navnet antyder, en scene leder inneholder alle objekter i en scene, så når vi kaller smgr-> drawAll () alle 3D-objekter i en scene vil bli trukket.
Til slutt kaller vi Driver> endScene (), som vil vise gjengitt scene på skjermen.
gjengi sløyfe er egentlig en uendelig løkke med mindre vi har en måte for enheten-> run () for å gå tilbake falsk. Et kall til på enhets> closeDevice () gjør nettopp det, og at koden finnes i funksjon kalt EndRenderLoop.