Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials |
The Irrlicht Engine is intended to be an easy-to-use 3d engine, so this documentation is an important part of it. If you have any questions or suggestions, just send a email to the author of the engine, Nikolaus Gebhardt (niko (at) irrlicht3d.org).
#include <irrlicht.h> using namespace irr; int main() { // start up the engine IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D8, core::dimension2d<u32>(640,480)); video::IVideoDriver* driver = device->getVideoDriver(); scene::ISceneManager* scenemgr = device->getSceneManager(); device->setWindowCaption(L"Hello World!"); // load and show quake2 .md2 model scene::ISceneNode* node = scenemgr->addAnimatedMeshSceneNode( scenemgr->getMesh("quake2model.md2")); // if everything worked, add a texture and disable lighting if (node) { node->setMaterialTexture(0, driver->getTexture("texture.bmp")); node->setMaterialFlag(video::EMF_LIGHTING, false); } // add a first person shooter style user controlled camera scenemgr->addCameraSceneNodeFPS(); // draw everything while(device->run() && driver) { driver->beginScene(true, true, video::SColor(255,0,0,255)); scenemgr->drawAll(); driver->endScene(); } // delete device device->drop(); return 0; }
Irrlicht can load a lot of file formats automaticly, see irr::scene::ISceneManager::getMesh() for a detailed list. So if you would like to replace the simple blue screen background by a cool Quake 3 Map, optimized by an octtree, just insert this code somewhere before the while loop:
// add .pk3 archive to the file system device->getFileSystem()->addZipFileArchive("quake3map.pk3"); // load .bsp file and show it using an octtree scenemgr->addOctTreeSceneNode( scenemgr->getMesh("quake3map.bsp"));
As you can see, the engine uses namespaces. Everything in the engine is placed into the namespace 'irr', but there are also 5 sub namespaces. You can find a list of all namespaces with descriptions at the namespaces page. This is also a good place to start reading the documentation. If you don't want to write the namespace names all the time, just use all namespaces like this:
using namespace core; using namespace scene; using namespace video; using namespace io; using namespace gui;
There is a lot more the engine can do, but I hope this gave a short overview over the basic features of the engine. For more examples, please take a look into the examples directory of the SDK.
The Irrlicht
Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated
on Sun Jan 10 09:24:02 2010 by Doxygen
(1.5.6) |