From 7028cbe09c688437910a25623098762bf0fa592d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 28 Mar 2016 22:28:34 +1000 Subject: Move Irrlicht to src/others. --- src/others/irrlicht-1.8.1/doc/html/index.html | 189 ++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 src/others/irrlicht-1.8.1/doc/html/index.html (limited to 'src/others/irrlicht-1.8.1/doc/html/index.html') diff --git a/src/others/irrlicht-1.8.1/doc/html/index.html b/src/others/irrlicht-1.8.1/doc/html/index.html new file mode 100644 index 0000000..2d13f7b --- /dev/null +++ b/src/others/irrlicht-1.8.1/doc/html/index.html @@ -0,0 +1,189 @@ + + + + +Irrlicht 3D Engine: Irrlicht Engine 1.8 API documentation + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + +
+
Irrlicht 3D Engine + +
+ +
+ + + + + + +
+
+
+ + + + +
+
+ +
+
+
+ +
+
+
+
Irrlicht Engine 1.8 API documentation
+
+
+
+logobig.png +
+

+Introduction

+

Welcome to the Irrlicht Engine API documentation. Here you'll find any information you'll need to develop applications with the Irrlicht Engine. If you are looking for a tutorial on how to start, you'll find some on the homepage of the Irrlicht Engine at irrlicht.sourceforge.net or inside the SDK in the examples directory.

+

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).

+

+Links

+

Namespaces: A very good place to start reading the documentation.
+ Class list: List of all classes with descriptions.
+ Class members: Good place to find forgotten features.
+

+

+Short example

+

A simple application, starting up the engine, loading a Quake 2 animated model file and the corresponding texture, animating and displaying it in front of a blue background and placing a user controlable 3d camera would look like the following code. I think this example shows the usage of the engine quite well:

+
 #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 octree, 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 octree
+    scenemgr->addOctreeSceneNode(
+        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.

+
+
+ + + + + -- cgit v1.1