www.it-ebooks.info
Irrlicht 1.7 Realtime 3D Engine
Beginner's Guide
Create complete 2D and 3D applicaons with this
cross-plaorm, high performance engine
Aung Sithu Kyaw
Johannes Stein
BIRMINGHAM - MUMBAI
www.it-ebooks.info
Irrlicht 1.7 Realtime 3D Engine
Beginner's Guide
Copyright © 2011 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system,
or transmied in any form or by any means, without the prior wrien permission of the
publisher, except in the case of brief quotaons embedded in crical arcles or reviews.
Every eort has been made in the preparaon of this book to ensure the accuracy of the
informaon presented. However, the informaon contained in this book is sold without
warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers
and distributors will be held liable for any damages caused or alleged to be caused directly or
indirectly by this book.
Packt Publishing has endeavored to provide trademark informaon about all of the
companies and products menoned in this book by the appropriate use of capitals. However,
Packt Publishing cannot guarantee the accuracy of this informaon.
First published: October 2011
Producon Reference: 1181011
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84951-398-2
www.packtpub.com
Cover Image by Asher Wishkerman ()
www.it-ebooks.info
Credits
Authors
Aung Sithu Kyaw
Johannes Stein
Reviewers
Chrisan Stehno
Nikolaus Gebhardt
Acquision Editor
Usha Iyer
Development Editor
Maitreya Bhakal
Technical Editors
Joyslita D'Souza
Snehal Gawde
Project Coordinator
Michelle Quadros
Proofreader
Linda Morris
Indexer
Hemangini Bari
Graphics
Geetanjali Sawant
Producon Coordinator
Alwin Roy
Cover Work
Alwin Roy
www.it-ebooks.info
About the Authors
Aung Sithu Kyaw is originally from Myanmar (Burma). He has been a developer in the
soware development industry for over seven years and has a great passion for graphics
programming, creang video games, wring, and sharing knowledge with others. He holds
a M.Sc (Digital Media Technology) from Nanyang Technological University (NTU), Singapore.
Aung is currently the CEO of a digital media company, Rival Edge Pte Ltd, Singapore, which
he cofounded in 2011 with two other engineers. Visit for more
informaon.
He can be followed on twier
@aungsithu and his LinkedIn prole http://www.
linkedin.com/in/aungsithu
.
www.it-ebooks.info
Acknowledgement
It took me over eight months to reach this point wring an acknowledgment secon. It was
really an excing journey. I owe these people in my endeavour to write this book and I'd like
to take this opportunity to express my gratude.
Thanks to Nikolaus 'niko' Gebhardt and Ambiera e.U. for iniang this wonderful Irrlicht
engine project and making it open-source, sharing with the community, Chrisan Stenho
for reviewing the book and giving lots of useful feedback and all the folks from the Irrlicht
forum. And the following people from Packt Publishing; Newton Sequeira (Author Relaon)
for contacng me about this opportunity to write a book on Irrlicht, Usha (Acquision
Editor), Maitreya Bhakal (Development Editor), and Ashwin Shey (Project Manager) for
taking this project into reality, Michelle Quadros (Project Coordinator) for working and
coordinang with me along the way, chapter-by-chapter, and Snehal Gawde (Technical
Editor) for making sure everything ts together.
I'd like to thank my big brother and my parents, who've been supporng me all these years.
Without all of your support I wouldn't have been here today.
And nally a big thank to my wife, Muriel. If she hadn't let me sit in front of my computer for
hours, late nights, and weekends, wring this book, it wouldn't have been possible. Thank
you for all your support. I love you.
www.it-ebooks.info
Johannes Stein is an independent game developer and former student of the university of
Augsburg, Germany. He started showing an interest in computer science at the early age of
twelve and has expanded his knowledge ever since. Aer learning Visual Basic and Delphi,
he got into C/C++ and C#, while he learned Objecve-C and JavaScript, in the last few years.
He specializes on cross-plaorm development, which means soware that runs on Windows,
Linux, and Mac OS X for example. Apart from cross-plaorm development, he has developed
mobile games and web applicaons using the latest technologies such as HTML5 and CSS3.
On several occasions, he worked as a freelance journalist and reported from yearly events
such as the gamescom in Cologne.
Working on a book was a completely new and excing experience for
me and rst of all I would like to thank everyone who had the paence
to put up with me and helped me during the process. I would like to
thank my parents who helped trying to movate me when I was feeling
overwhelmed and frustrated. A special thanks goes to my father.
I would also like to thank Nikolaus Gebhardt and Chrisan Stehno, who
have not only been technical reviewers of this book, but shaped the Irrlicht
engine into what it is now.
And last, but not least I would like to thank everyone at Packt Publishing,
who made this book possible and a simple "Thank you" does not cover
how grateful I am.
www.it-ebooks.info
About the Reviewer
Chrisan Stehno has been in touch with Irrlicht since 2004. Being a researcher at that
me, he led a group of students to develop a 3D visualizaon tool. Since 2006, he has been
part of the development team. Today he is responsible for the general coordinaon of the
project and its development. When it comes down to coding, he likes working on the video
drivers, but does the bug hunng in all parts of the engine. In real life, Chrisan is married
(longer with his wife than with Irrlicht) and has two children. He is the founder and general
manager of a small company, developing embedded systems and soware for industrial use.
www.it-ebooks.info
www.PacktPub.com
Support les, eBooks, discount offers and more
You might want to visit www.PacktPub.com for support les and downloads related to
your book.
Did you know that Packt oers eBook versions of every book published, with PDF and ePub
les available? You can upgrade to the eBook version at
www.PacktPub.com and as a print
book customer, you are entled to a discount on the eBook copy. Get in touch with us at
for more details.
At
www.PacktPub.com, you can also read a collecon of free technical arcles, sign up
for a range of free newsleers and receive exclusive discounts and oers on Packt books
and eBooks.
Do you need instant soluons to your IT quesons? PacktLib is Packt's online digital book
library. Here, you can access, read and search across Packt's enre library of books.
Why Subscribe?
Fully searchable across every book published by Packt
Copy and paste, print and bookmark content
On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access
PacktLib today and view nine enrely free books. Simply use your login credenals for
immediate access.
www.it-ebooks.info
Table of Contents
Preface 1
Chapter 1: Installing Irrlicht 7
Irrlicht license 7
System requirements 8
Time for acon – downloading Irrlicht 9
Contents of the Irrlicht package 10
bin folder 10
doc folder 10
examples folder 11
lib folder 11
include folder 11
media folder 11
source folder 11
tools folder 11
Text les 11
Irrlicht on Windows with Visual Studio 12
Time for acon – adding le references 12
Project-specic conguraon 14
Compiling Irrlicht as a dynamic library using Visual Studio 15
For 6t4-bit Windows 15
Installing Microso's DirectX SDK 15
Time for acon – compiling Irrlicht as a dynamic library 16
Time for acon – compiling the Irrlicht dynamic library with modicaons 16
Addional conguraons 18
Building an example with Visual Studio 18
Time for acon – building an Irrlicht example 18
Using Irrlicht with CodeBlocks 20
Time for acon – creang an applicaon using the CodeBlocks wizard 20
CodeBlocks under Linux 24
www.it-ebooks.info
Table of Contents
[ ii ]
Irrlicht on Linux 25
Time for acon – compiling the stac library 26
Making Irrlicht available on the whole system 27
Time for acon – compiling "Hello World" on Ubuntu 27
Irrlicht on Mac OS X with Xcode 29
Time for acon – compiling the stac library on Mac OS X 30
Time for acon – compiling "Hello World" project with Xcode 31
Summary 33
Chapter 2: Creang a Basic Template Applicaon 35
Creang a new empty project 35
Visual Studio 36
CodeBlocks 38
Linux and the command line 38
Xcode 38
Time for acon – creang the main entry point 40
Using Irrlicht namespaces 41
Irrlicht device 41
Time for acon – creang an Irrlicht device 42
The createDevice method 43
The "game loop" 43
Time for acon – creang the "game loop" 44
beginScene 45
endScene 46
Summary 48
Chapter 3: Loading Meshes 49
What is a mesh? 50
Time for acon – loading a mesh 51
Dierences between mesh formats 54
OBJ 54
MD2/MD3 54
COLLADA 54
X 54
Using textures 54
Time for acon – applying texture to a mesh 55
Time for acon – manipulang our mesh 57
Time for acon – animang our mesh 59
Summary 62
Chapter 4: Overlays and User Interface 63
What is an overlay? 63
Time for acon – drawing a 2D image 64
Using a sprite sheet 68
www.it-ebooks.info
Table of Contents
[ iii ]
Time for acon – using a sprite sheet 69
Making sprite sheets 72
Time for acon – making sprite sheets 72
Drawing primives 75
Time for acon – drawing primives 76
Rectangles 77
Polygons 77
Lines 77
Graphical user interface 78
Displaying text on the screen 78
Time for acon – displaying text on the screen 79
Using the Irrlicht font tool 82
Time for acon – using the Irrlicht font tool 82
Adding buons to our GUI 84
Time for acon – adding buons to your GUI 84
Summary 89
Chapter 5: Understanding Data Types 91
Using C++ templates 91
What are templates? 92
Using templates 92
Time for acon – using templates 92
Type denions 94
Class types 95
video::SColor 95
video::SColorf 95
core::rect 96
core::dimension2d 96
core::array 96
core::list 97
Vectors 97
Dot product 97
Cross product 98
Magnitude (length) 98
Unit vector 98
Normalizaon 99
Direcon vector 99
Time for acon – moving a ball 99
Summary 105
Chapter 6: Managing Scenes 107
What is a scene? 107
Geng CopperCube/IrrEditCopp 108
www.it-ebooks.info
Table of Contents
[ iv ]
Windows version 108
Mac OS X version 108
What is CopperCube? 109
Why are we using CopperCube? 110
Time for acon – creang a new scene 111
Time for acon – adding meshes to our scene 114
Time for acon – adding lights 115
Time for acon – adding geometrical objects 116
Time for acon – nishing up our scene 118
Time for acon – exporng our scene 121
Time for acon – loading an Irrlicht scene 123
Summary 125
Chapter 7: Using Nodes—The Basic Objects of the Irrlicht 3D Engine 127
What is a node? 127
Overview of dierent nodes 128
Scene node 128
Camera scene node 129
Billboard scene node 129
Mesh scene node 129
Light scene node 129
Dummy transformaon scene node 129
Parcle system scene node 130
Terrain scene node 130
Text scene node 130
Working with nodes 130
Time for acon – working with nodes 130
Animang nodes 135
Time for acon – animang nodes 135
Fly circle 136
Fly straight 137
Follow spline 137
Rotaon 137
Delete 137
Texture 137
Collision response 137
Adding a custom scene node 138
Time for acon – adding a custom scene node 139
Summary 144
Chapter 8: Managing Cameras 145
What is a camera? 145
Extending our template applicaon 146
www.it-ebooks.info
Table of Contents
[ v ]
Time for acon – extending our template applicaon 146
Creang terrains 151
Time for acon – creang terrains 151
Adding a camera scene node 155
Time for acon – adding a camera scene node 155
Adding prefabricated cameras 159
Time for acon – adding prefabricated cameras 159
Summary 163
Chapter 9: Lightening the Scene 165
Using irrEdit to set up lights 166
Time for acon – creang a global ambient light 168
Ambient light 170
Materials 171
Emissive color 171
Time for acon – adding a light scene node 171
Aenuaon 173
Time for acon – seng up Irrlicht 173
Time for acon – seng up global ambient light 175
Time for acon – creang a custom light node 176
Direconal light 178
Point light 178
Time for acon – adding a spot light and an animator 179
Spot light 181
Time for acon – manipulang shininess and specular 181
light color 181
Gouraud shading 184
Time for acon – adding a shadow 185
Summary 187
Chapter 10: Creang Eye Candy Eects with Parcle Systems 189
Parcle systems 189
Time for acon – creang a simple parcle eect in irrEdit 191
Time for acon – modifying the parcle material 193
Time for acon – adding a parcle system in Irrlicht 195
Time for acon – adding a simple water surface 198
Time for acon – adding a parcle aector 201
Time for acon – acvang a parcle eect on a mouse event 203
Summary 207
Chapter 11: Handling Data and Files 209
Loading data from an external le 210
Time for acon – loading data from an external le 210
Time for acon – reading data in tokens, line-by-line 212
www.it-ebooks.info
Table of Contents
[ vi ]
Time for acon – saving data to a le 214
Time for acon – loading data from an XML le 214
Time for acon – wring data to an XML le 216
Time for acon – reading specic data types from an XML le 218
Time for acon – reading data from an archive 219
Summary 220
Chapter 12: Using Shaders in Irrlicht 221
Rendering pipeline 222
Shaders 224
Vertex shaders 224
Fragment /pixel shaders 225
Geometry shaders 225
Time for acon – seng up the GLSL demo 226
Data communicaon 228
Time for acon – using a toon shader 229
Time for acon – applying a gooch shader 233
Going further with shaders 234
Summary 236
Appendix A: Deploying an Irrlicht Applicaon 237
What is meant by "deployment"? 237
Deploying Irrlicht applicaons on Windows plaorms 238
Deploying the Irrlicht applicaons on Linux plaorms 239
Start helper script for Linux 239
Deploying for Mac OS X plaorms 240
Creang universal applicaons and compability 241
Deploying the source code 242
Why deploy the source code? 242
Deploying the source 242
Summary 243
Appendix B: Pop Quiz Answers 245
Chapter 2, Creang a Basic Template Applicaon 245
Chapter 3, Loading Meshes 245
Chapter 4, Overlays and User Interface 245
Chapter 5, Understanding Data Types 246
Chapter 7, Using Nodes—The Basic Objects of the Irrlicht 3D Engine 246
Chapter 12, Using Shaders in Irrlicht 246
Index 237
www.it-ebooks.info
Preface
Irrlicht 1.7 Realme 3D Engine Beginner's Guide will teach you to master all that is required
to create 2D and 3D applicaons using Irrlicht, beginning right from installaon, and
proceeding step-by-step to deployment.
Beginning with installaon, this book guides you through creang a basic template
applicaon, followed by using meshes, creang overlays, and UI. You will then scan through
data types, nodes, scenes, camera, lights, and parcle systems. Finally, you will learn about
some advanced concepts such as handling data, les, and shaders, followed by the last
stage—deployment—in an appendix.
This book is a step-by-step guide to Irrlicht that starts at an easy level for beginners and then
gradually works to more advanced topics through clear code examples and a number of
demos, which illustrate theorecal concepts.
What this book covers
Chapter 1, Installing Irrlicht, shows how to get and set up Irrlicht across dierent plaorms
such as Windows, Max, and Linux.
Chapter 2, Creang a Basic Template Applicaon, explains how to set up and create a basic
Irrlicht applicaon using dierent Integrated Development Environments (IDEs) such as
Microso Visual Studio, XCode, CodeBlocks, and so on.
Chapter 3, Loading Meshes, shows how to add 3D meshes to our applicaon, apply
materials, and animate them.
Chapter 4, Overlays and User Interface, explores the 2D capabilies of Irrlicht, creang
graphical user interface (GUI), loading, and rendering 2D images.
www.it-ebooks.info
Preface
[ 2 ]
Chapter 5, Understanding Data Types, provides a primer on C++ templates as well as some
mathemacal concepts such as vectors.
Chapter 6, Managing Scenes, introduces using CopperCube, which is a visual 3D scene editor
for Irrlicht available for both free and commercial use.
Chapter 7, Using Nodes—The Basic Objects of the Irrlicht 3D engine, explains what the nodes
in Irrlicht are and how to use animators to do some basic animaons.
Chapter 8, Managing Cameras, shows how to use camera scene nodes and touches a lile
bit on creang a simple terrain to test the walkthrough camera.
Chapter 9, Lightening the Scene, introduces lighng concepts, materials, shadows, and using
CopperCube/IrrEdit.
Chapter 10, Creang Eye Candy Eects with Parcle Systems, shows how to implement
parcle systems both in the visual editor and from the code.
Chapter 11, Handling Data and Files, explains how to save and load game-related data les
such as player save les.
Chapter 12, Using Shaders in Irrlicht, introduces how the graphics rendering pipeline works
and praccal usage of shaders in Irrlicht.
The Appendix, Deploying an Irrlicht Applicaon, explains the procedures and essenal
dependencies to be included while packaging an Irrlicht applicaon for dierent plaorms
such as Windows, Mac, or Linux.
What you need for this book
You should have a working knowledge and understanding of programming in C\C++ and a
compiler to compile and run the sample code. Your computer should also have a graphic card
with 3D capabilies with supports for DirectX and OpenGL. We'll start with seng up Irrlicht
on dierent plaorms, so you don't need to have installed Irrlicht on your computer.
Who this book is for
If you have C++ skills and are interested in learning Irrlicht to create 2D/3D applicaons, this
book is for you. Absolutely no knowledge of Irrlicht is necessary for you to follow this book!
www.it-ebooks.info
Preface
[ 3 ]
Conventions
In this book, you will nd several headings appearing frequently.
To give clear instrucons of how to complete a procedure or task, we use:
Time for action – heading
1. Acon 1
2. Acon 2
3. Acon 3
Instrucons oen need some extra explanaon so that they make sense, so they are
followed with:
What just happened?
This heading explains the working of tasks or instrucons that you have just completed.
You will also nd some other learning aids in the book, including:
Pop quiz – heading
These are short mulple choice quesons intended to help you test your own understanding.
Have a go hero – heading
These set praccal challenges and give you ideas for experimenng with what you
have learned.
You will also nd a number of styles of text that disnguish between dierent kinds of
informaon. Here are some examples of these styles, and an explanaon of their meaning.
Code words in text are shown as follows: "we load our mesh le and store it in an
IMesh object".
A block of code is set as follows:
if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMaterialTexture(0, driver->getTexture("sydney.bmp"));
}
www.it-ebooks.info
Preface
[ 4 ]
New terms and important words are shown in bold. Words that you see on the screen, in
menus or dialog boxes for example, appear in the text like this: "click on Add Images to
add images".
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—
what you liked or may have disliked. Reader feedback is important for us to develop tles
that you really get the most out of.
To send us general feedback, simply send an e-mail to
, and
menon the book tle via the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the
SUGGEST A TITLE form on
www.packtpub.com or e-mail
If there is a topic that you have experse in and you are interested in either wring or
contribung to a book, see our author guide on
www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you
to get the most from your purchase.
Downloading the example code for this book
You can download the example code les for all Packt books you have purchased from your account
at . If you purchased this book elsewhere, you can visit http://
www.PacktPub.com/support and register to have the les e-mailed directly to you.
www.it-ebooks.info
Preface
[ 5 ]
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do
happen. If you nd a mistake in one of our books—maybe a mistake in the text or the code—
we would be grateful if you would report this to us. By doing so, you can save other readers
from frustraon and help us improve subsequent versions of this book. If you nd any
errata, please report them by vising selecng
your book, clicking on the errata submission form link, and entering the details of your
errata. Once your errata are veried, your submission will be accepted and the errata will
be uploaded on our website, or added to any list of exisng errata, under the Errata secon
of that tle. Any exisng errata can be viewed by selecng your tle from http://www.
packtpub.com/support
.
Piracy
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt,
we take the protecon of our copyright and licenses very seriously. If you come across any
illegal copies of our works, in any form, on the Internet, please provide us with the locaon
address or website name immediately so that we can pursue a remedy.
Please contact us at
with a link to the suspected pirated
material.
We appreciate your help in protecng our authors, and our ability to bring you valuable
content.
Questions
You can contact us at if you are having a problem with any
aspect of the book, and we will do our best to address it.
www.it-ebooks.info
www.it-ebooks.info
1
Installing Irrlicht
This chapter will explain what we need to consider when we take our rst step
with the Irrlicht 3D graphics engine.
In this chapter, we will:
Learn about how the Irrlicht library is structured
Set up Irrlicht on Windows using either Visual Studio or CodeBlocks
Set up Irrlicht on Linux using the command-line
Set up Irrlicht on Mac OS X using XCode
Compile the Irrlicht library for ourselves
So let's get started.
Irrlicht license
Irrlicht is available for free and open source, which means that its source can be viewed and
modied by anyone. It uses the zlib license that allows you to use the engine free of charge
for private, educaonal, and even for commercial use. Unlike other open source licenses
such as GPL (GNU Public License), you are allowed to modify Irrlicht without publishing your
changes under the same license or make your changes not available to the public at all. It is
recommended to give credit to the Irrlicht development team in your released applicaon,
although this is not necessary with an excepon of JPEG support. Irrlicht uses libjpeg for
JPEG support and you must credit JPEG group in your release applicaon, according to their
license requirement.
www.it-ebooks.info
Installing Irrlicht
[ 8 ]
System requirements
While the Irrlicht 3D graphics engine should work on prey much any computer or
notebook, there are a few steps to ensure that your Irrlicht development environment, and
your created applicaons, will run smoothly. First of all, ensure that you have installed the
latest driver for your graphics card. If you want to be able to use all features of Irrlicht, your
graphics card needs to support at least OpenGL 1.5. Also, an equivalent DirectX 9.0c graphics
card will suce, if you are planning to use DirectX and Microso Windows exclusively. If
you want to modify and recompile Irrlicht, you'll have to install the necessary SDKs such as
the latest DirectX SDK for Direct3D 9 support and the May 2006 version of DirectX SDK for
Direct3D 8 support. We'll discuss how to set them up in the following secons.
Checking for graphics card support
To check if your graphics card supports OpenGL 1.5, check the specicaons of
your graphics card on the ocial homepage of your graphics card vendor. Or
alternavely, you can use a tool like DoctorGL that can be downloaded from
/>If you want to make use of Irrlicht's DirectX interface under Windows, you need to have
DirectX installed. DirectX runme les come pre-installed with Windows by default.
Installing the latest DirectX Runmes
DirectX is an applicaon programming interface, specically designed for
mulmedia and games developed by Microso.
You can download the latest version of DirectX at the following web address:
On this site click on DirectX End-User Runmes (June 2010) Full Download
in the right sidebar listed under Recent Downloads to be redirected to the
download page.
www.it-ebooks.info
Chapter 1
[ 9 ]
Since Irrlicht is cross-plaorm and can be used on Windows, Linux, and Mac OS X, we will
discuss how to set up Irrlicht on those dierent plaorms with dierent development
environments and compilers. We will create a skeletal applicaon in the next chapter,
which can be used as a starng point for the upcoming exercises. Use a compiler or an
integrated development environment of your choice. Eventually, it will not maer which
IDE or compiler you ulmately choose, because each code sample of this book will work on
any IDE and compiler described in this chapter. You'll learn more about plaorm-specic
requirements when you actually try to set up Irrlicht on dierent plaorms and development
environments.
Time for action – downloading Irrlicht
The rst step is to download Irrlicht from their ocial homepage. As of the release of this
book the latest version of Irrlicht was 1.7.2. The examples in this book should work ne for
that version and above.
Now, we are going to download Irrlicht and take a look at what the package has to oer out
of the box:
1. Go to the ocial Irrlicht homepage at .
Choose Downloads in the le sidebar and then choose the latest stable release:
www.it-ebooks.info
Installing Irrlicht
[ 10 ]
2. As with all projects hosted on sourceforge, you will then be redirected to a site
where you can choose from a number of mirrors and the closest mirror to your
locaon is selected by default. The download will start in a few seconds.
Contents of the Irrlicht package
Aer the download has nished, extract the le at a locaon of your choice. To extract this
le you need an unpacker. Windows, Linux, and Mac OS X have built-in applicaons for this
task. Another soluon would use a tool like 7zip ( which is an
open source cross-plaorm le archiver:
bin folder
The bin folder, which splits itself into dierent folders named aer plaorms, contains pre-
compiled examples. Only 32-bit binaries for Windows, compiled with Visual Studio, can
be found here and the examples should give you a general idea of what is possible when
using Irrlicht. If you compile an example from the included package in another plaorm or
environment, the compiled executables will be placed here.
doc folder
This contains a complete documentaon of the Irrlicht 3D graphics engine, generated from
the source code through Doxygen. This documentaon is very detailed, but may be a bit
overwhelming for beginners. Since there's no funcon to search in these documents, it's
more convenient to Google a specic funcon of Irrlicht that in turn will point to the online
version of this API documentaon.
www.it-ebooks.info