All pastes #749404 Raw Edit

Miscellany

public text v1 · immutable
#749404 ·published 2007-10-25 17:56 UTC
rendered paste body
1.1 What is Irrlicht? 

The Irrlicht Engine is an open source, cross platform, realtime 3D graphics library. It is written in C++, and it 

uses a scene graph API. What does all this mean?

Do I need to know C++?

Yes, you'll need to know the C++ programming language. Take a look at [[http://www.cplusplus.com/ | this C++ 

tutorial]], knowing everything up to the "Namespaces" chapter will help a lot.

However, Irrlicht is a popular 3D engine choice for C++ beginners, so we don't mind stupid C++ questions in the 

[[http://irrlicht.sourceforge.net/phpBB2 | beginners help forum]].


What is an API?
(Illustration of a phone socket/jack)

An API, or application programming interface, is a collection of rules for communicating with a service. In our 

case, it's a collection of C++ header files that define the classes used in Irrlicht.

Irrlicht deals with the business of 3D graphics, so it provides a rich set of interfaces that deal with loading, 

organising, saving and drawing them. 

(uml showing major interfaces)

todo: Briefly talk about the big ones

section objective: teach about general layout and introduce important classes nice and early, so the user can understand the tutorial code.


What's a scene graph?
(illustration of a scene graph)
explain what scene graph is, then explain the scene manager and nodes.

section objective: brief introduction to ISceneManager, ISceneNode, and ISceneNodeAnimator.


Cross platform and portable?
(illustration of IrrlichtDevice CIrrWin32/Linux/OSXDevice)

The IrrlichtDevice and IFileSystem interfaces provide all the things you'd normally ask the operating system for, so 

Irrlicht could be using a Windows or a MacOS IrrlichtDevice underneath and your code wouldn't change. If you wanted 

to port Irrlicht to a new platform, you'd just write a new subclass of IrrlichtDevice that deals with the platform's 

OS.

todo: Explain IVideoDriver and hardware acceleration

section objective: Brief introduction to IrrlichtDevice, IFileSystem and IVideoDriver.


What kind of open source?

The [[http://irrlicht.sf.net/license.html | Irrlicht Engine License]] is a liberal [[http://www.opensource.org | 

open source license]] based on the zlib license. Like the zlib license and unlike the (L)GPL it is not a copyleft 

license, so you are not forced to release your source code. You can't remove the license and copyright 

informationfrom the source code, but you don't even need to credit Irrlicht in binary releases (you must still 

credit the JPEG group for the JPG loader if you use it).

((section objective: explain irrlicht license))

Irrlicht is not a game engine.

If you want to use Irrlicht to make games you'll need some other libraries too, because Irrlicht only deals with 

graphics. There's no AI, audio or physics. You can find a list of useful libraries here (link)