Professional Documents
Culture Documents
API Manual Irrlicht
API Manual Irrlicht
API Manual Irrlicht
1.1 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).
1.2 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.
#include <irrlicht.h>
using namespace irr;
int main()
{
// start up the engine
IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D8,
core::dimension2d<s32>(640,480));
2 Irrlicht Engine 1.4.1 API documentation
device->setWindowCaption(L"Hello World!");
// 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:
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:
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.
irr::gui::IGUIFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
irr::gui::IGUIFontBitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
irr::gui::IGUISpriteBank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
irr::ILogger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
irr::io::IAttributeExchangingObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
irr::gui::IGUIElement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
irr::gui::IGUISkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
irr::scene::IParticleAffector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
irr::scene::IParticleAttractionAffector . . . . . . . . . . . . . . . . . . . . . . . . . 415
irr::scene::IParticleFadeOutAffector . . . . . . . . . . . . . . . . . . . . . . . . . . 427
irr::scene::IParticleGravityAffector . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
irr::scene::IParticleRotationAffector . . . . . . . . . . . . . . . . . . . . . . . . . . 436
irr::scene::IParticleEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
irr::scene::IParticleAnimatedMeshSceneNodeEmitter . . . . . . . . . . . . . . . . . 412
irr::scene::IParticleBoxEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
irr::scene::IParticleCylinderEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
irr::scene::IParticleMeshEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
irr::scene::IParticleRingEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
irr::scene::IParticleSphereEmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
irr::scene::ISceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
irr::scene::IAnimatedMeshSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . 168
irr::scene::IBillboardSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
irr::scene::IBoneSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
irr::scene::ICameraSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
irr::scene::IDummyTransformationSceneNode . . . . . . . . . . . . . . . . . . . . . 220
irr::scene::ILightSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
irr::scene::IMeshSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
irr::scene::IParticleSystemSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . 440
irr::scene::IShadowVolumeSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . 546
irr::scene::ITerrainSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
irr::scene::ITextSceneNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
irr::scene::ISceneNodeAnimator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
irr::scene::ISceneNodeAnimatorCollisionResponse . . . . . . . . . . . . . . . . . . 531
irr::io::IAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
irr::io::IFileList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
irr::io::IFileSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
irr::io::IReadFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
irr::io::IWriteFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
irr::io::IXMLWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
irr::IOSOperator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
irr::IrrlichtDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
irr::ITimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
irr::scene::IAnimationEndCallBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
irr::scene::IMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
irr::scene::IAnimatedMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
irr::scene::IAnimatedMeshMD2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
irr::scene::IAnimatedMeshMD3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
irr::scene::IQ3LevelMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
irr::scene::ISkinnedMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
irr::scene::SAnimatedMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
irr::scene::SMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
irr::scene::IMeshBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
irr::scene::CMeshBuffer< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
irr::scene::SSharedMeshBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
irr::scene::SSkinMeshBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
irr::scene::IMeshCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
irr::scene::IMeshLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
irr::scene::IMeshManipulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
irr::scene::IMeshWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
irr::scene::ISceneCollisionManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
irr::scene::ISceneManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
irr::scene::ISceneNodeAnimatorFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
irr::scene::ISceneNodeFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
irr::scene::ITriangleSelector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
irr::scene::IMetaTriangleSelector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
irr::scene::quake3::IShaderManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
irr::scene::quake3::SVarGroupList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
irr::scene::SMD3Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
irr::scene::SMD3MeshBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
irr::scene::SMD3QuaterionTagList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
irr::video::IImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
irr::video::IImageLoader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
irr::video::IImageWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
irr::video::IMaterialRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
irr::video::IShaderConstantSetCallBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
irr::video::ITexture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
irr::video::IVideoDriver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
irr::video::IVideoModeList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
irr::core::irrAllocator< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
irr::core::irrAllocatorFast< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
irr::scene::ISceneUserDataSerializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
irr::scene::ISkinnedMesh::SJoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
irr::scene::ISkinnedMesh::SPositionKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
irr::scene::ISkinnedMesh::SRotationKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
irr::scene::ISkinnedMesh::SScaleKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
irr::scene::ISkinnedMesh::SWeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
irr::io::IXMLBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
irr::core::line2d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
irr::core::line3d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
irr::core::list< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
irr::core::list< T >::ConstIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
irr::core::list< T >::Iterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
irr::core::map< KeyType, ValueType > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
irr::core::map< KeyType, ValueType >::AccessClass . . . . . . . . . . . . . . . . . . . . . . . 646
irr::core::map< KeyType, ValueType >::Iterator . . . . . . . . . . . . . . . . . . . . . . . . . . 647
irr::core::map< KeyType, ValueType >::ParentFirstIterator . . . . . . . . . . . . . . . . . . . . 650
irr::core::map< KeyType, ValueType >::ParentLastIterator . . . . . . . . . . . . . . . . . . . . 652
irr::core::plane3d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
irr::core::position2d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
irr::core::quaternion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
irr::core::rect< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
irr::video::S3DVertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
irr::video::S3DVertex2TCoords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
irr::video::S3DVertexTangents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
irr::io::SAttributeReadWriteOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
irr::scene::quake3::SBlendFunc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
irr::video::SColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
irr::video::SColorf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
irr::video::SColorHSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
irr::SEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
irr::SEvent::SGUIEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
irr::SEvent::SKeyInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
irr::SEvent::SLogEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
irr::SEvent::SMouseInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
irr::SEvent::SUserEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
irr::video::SExposedVideoData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
irr::gui::SGUISprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
irr::gui::SGUISpriteFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
irr::SIrrlichtCreationParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
irr::SKeyMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
irr::video::SLight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
irr::video::SMaterial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
irr::video::SMaterialLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
irr::scene::SMD3AnimationInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
irr::scene::SMD3Face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
irr::scene::SMD3Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
irr::scene::SMD3MeshHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
irr::scene::SMD3QuaterionTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
irr::scene::SMD3TexCoord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
irr::scene::SMD3Vertex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
irr::scene::quake3::SModifierFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
irr::scene::SParticle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
irr::scene::quake3::SShader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
irr::core::string< T, TAlloc > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
irr::scene::quake3::SVarGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
irr::scene::quake3::SVariable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804
irr::scene::SViewFrustum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
irr::core::triangle3d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
irr::core::vector2d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
irr::core::vector3d< T > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
Here are the classes, structs, unions and interfaces with brief descriptions:
irr::core::aabbox3d< T > (Axis aligned bounding box in 3d dimensional space ) . . . . . . . . . 113
irr::core::array< T, TAlloc > (Self reallocating template array (like stl vector) with additional
features ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
irr::core::CMatrix4< T > (4x4 matrix. Mostly used as transformation matrix for 3d calculations ) 132
irr::scene::CMeshBuffer< T > (Template implementation of the IMeshBuffer interface ) . . . . 152
irr::core::dimension2d< T > (Specifies a 2 dimensional size ) . . . . . . . . . . . . . . . . . . 159
irr::scene::IAnimatedMesh (Interface for an animated mesh ) . . . . . . . . . . . . . . . . . . . 162
irr::scene::IAnimatedMeshMD2 (Interface for using some special functions of MD2 meshes ) . . 164
irr::scene::IAnimatedMeshMD3 (Interface for using some special functions of MD3 meshes ) . . 166
irr::scene::IAnimatedMeshSceneNode (Scene node capable of displaying an animated mesh and
its shadow ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
irr::scene::IAnimationEndCallBack (Callback interface for catching events of ended animations ) 175
irr::io::IAttributeExchangingObject (An object which is able to serialize and deserialize its at-
tributes into an attributes object ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
irr::io::IAttributes (Provides a generic interface for attributes and their values and the possiblity
to serialize them ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
irr::scene::IBillboardSceneNode (A billboard scene node ) . . . . . . . . . . . . . . . . . . . . 204
irr::scene::IBoneSceneNode (Interface for bones used for skeletal animation ) . . . . . . . . . . 207
irr::scene::ICameraSceneNode (Scene Node which is a (controlable) camera ) . . . . . . . . . . 211
irr::gui::ICursorControl (Interface to manipulate the mouse cursor ) . . . . . . . . . . . . . . . . 217
irr::scene::IDummyTransformationSceneNode (Dummy scene node for adding additional trans-
formations to the scene graph ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
irr::IEventReceiver (Interface of an object which can receive events ) . . . . . . . . . . . . . . . 222
irr::io::IFileList (The Filelist lists all files in a directory ) . . . . . . . . . . . . . . . . . . . . . 224
irr::io::IFileReadCallBack (Callback class for file read abstraction ) . . . . . . . . . . . . . . . . 226
irr::io::IFileSystem (The FileSystem manages files and archives and provides access to them ) . . 228
irr::video::IGPUProgrammingServices (Interface making it possible to create and use programs
running on the GPU ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
irr::gui::IGUIButton (GUI Button interface ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
irr::gui::IGUICheckBox (GUI Check box interface ) . . . . . . . . . . . . . . . . . . . . . . . . 247
irr::gui::IGUIColorSelectDialog (Standard file chooser dialog ) . . . . . . . . . . . . . . . . . . 249
irr::gui::IGUIComboBox (Combobox widget ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
irr::gui::IGUIContextMenu (GUI Context menu interface ) . . . . . . . . . . . . . . . . . . . . 254
10 Irrlicht Engine Class Index
irr::gui::IGUIEditBox (Single line edit box for editing simple text ) . . . . . . . . . . . . . . . . 259
irr::gui::IGUIElement (Base class of all GUI elements ) . . . . . . . . . . . . . . . . . . . . . . 264
irr::gui::IGUIElementFactory (Interface making it possible to dynamicly create GUI elements ) . 284
irr::gui::IGUIEnvironment (GUI Environment. Used as factory and manager of all other GUI
elements ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
irr::gui::IGUIFileOpenDialog (Standard file chooser dialog ) . . . . . . . . . . . . . . . . . . . 305
irr::gui::IGUIFont (Font interface ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
irr::gui::IGUIFontBitmap (Font interface ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
irr::gui::IGUIImage (GUI element displaying an image ) . . . . . . . . . . . . . . . . . . . . . 312
irr::gui::IGUIInOutFader (Element for fading out or in ) . . . . . . . . . . . . . . . . . . . . . . 314
irr::gui::IGUIListBox (Default list box GUI element ) . . . . . . . . . . . . . . . . . . . . . . . 317
irr::gui::IGUIMeshViewer (3d mesh viewing GUI element ) . . . . . . . . . . . . . . . . . . . . 322
irr::gui::IGUIScrollBar (Default scroll bar GUI element ) . . . . . . . . . . . . . . . . . . . . . 324
irr::gui::IGUISkin (A skin modifies the look of the GUI elements ) . . . . . . . . . . . . . . . . 327
irr::gui::IGUISpinBox (Single line edit box + spin buttons ) . . . . . . . . . . . . . . . . . . . . 335
irr::gui::IGUISpriteBank (Sprite bank interface ) . . . . . . . . . . . . . . . . . . . . . . . . . . 338
irr::gui::IGUIStaticText (Multi or single line text label ) . . . . . . . . . . . . . . . . . . . . . . 340
irr::gui::IGUITab (A tab, onto which other gui elements could be added ) . . . . . . . . . . . . . 345
irr::gui::IGUITabControl (A standard tab control ) . . . . . . . . . . . . . . . . . . . . . . . . . 347
irr::gui::IGUIToolBar (Stays at the top of its parent like the menu bar and contains tool buttons ) 350
irr::gui::IGUIWindow (Default moveable window GUI element with border, caption and close
icons ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
irr::video::IImage (Interface for software image data ) . . . . . . . . . . . . . . . . . . . . . . . 354
irr::video::IImageLoader (Class which is able to create a image from a file ) . . . . . . . . . . . 358
irr::video::IImageWriter (Interface for writing software image data ) . . . . . . . . . . . . . . . 360
irr::io::IIrrXMLReader< char_type, super_class > (Interface providing easy read access to a
XML file ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
irr::scene::ILightSceneNode (Scene node which is a dynamic light ) . . . . . . . . . . . . . . . 368
irr::ILogger (Interface for logging messages, warnings and errors ) . . . . . . . . . . . . . . . . 370
irr::video::IMaterialRenderer (Interface for material rendering ) . . . . . . . . . . . . . . . . . . 373
irr::video::IMaterialRendererServices (Interface providing some methods for changing advanced,
internal states of a IVideoDriver ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
irr::scene::IMesh (Class for accessing a mesh with multiple mesh buffers ) . . . . . . . . . . . . 379
irr::scene::IMeshBuffer (Struct for holding a mesh with a single material ) . . . . . . . . . . . . 382
irr::scene::IMeshCache (The mesh cache stores already loaded meshes and provides an interface
to them ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
irr::scene::IMeshLoader (Class which is able to load an animated mesh from a file ) . . . . . . . 393
irr::scene::IMeshManipulator (An interface for easy manipulation of meshes ) . . . . . . . . . . 395
irr::scene::IMeshSceneNode (A scene node displaying a static mesh ) . . . . . . . . . . . . . . 401
irr::scene::IMeshWriter (Interface for writing meshes ) . . . . . . . . . . . . . . . . . . . . . . 403
irr::scene::IMetaTriangleSelector (Interface for making multiple triangle selectors work as one
big selector ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
irr::IOSOperator (The Operating system operator provides operation system specific methods
and informations ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
irr::scene::IParticleAffector (A particle affector modifies particles ) . . . . . . . . . . . . . . . . 409
irr::scene::IParticleAnimatedMeshSceneNodeEmitter (A particle emitter which emits particles
from mesh vertices ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
irr::scene::IParticleAttractionAffector (A particle affector which attracts or detracts particles ) . . 415
irr::scene::IParticleBoxEmitter (A particle emitter which emits particles from a box shaped space ) 418
irr::scene::IParticleCylinderEmitter (A particle emitter which emits from a cylindrically shaped
space ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
irr::scene::IParticleEmitter (A particle emitter for using with particle systems ) . . . . . . . . . . 423
irr::scene::IParticleFadeOutAffector (A particle affector which fades out the particles ) . . . . . 427
irr::scene::IParticleGravityAffector (A particle affector which applies gravity to particles ) . . . 429
IGUIButton.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
IGUICheckBox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
IGUIColorSelectDialog.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893
IGUIComboBox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
IGUIContextMenu.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895
IGUIEditBox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
IGUIElement.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897
IGUIElementFactory.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
IGUIEnvironment.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900
IGUIFileOpenDialog.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901
IGUIFont.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
IGUIFontBitmap.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903
IGUIImage.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
IGUIInOutFader.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
IGUIListBox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
IGUIMeshViewer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
IGUIScrollBar.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
IGUISkin.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
IGUISpinBox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
IGUISpriteBank.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
IGUIStaticText.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
IGUITabControl.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
IGUIToolbar.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
IGUIWindow.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922
IImage.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
IImageLoader.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
IImageWriter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
ILightSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
ILogger.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
IMaterialRenderer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
IMaterialRendererServices.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929
IMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
IMeshBuffer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931
IMeshCache.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932
IMeshLoader.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
IMeshManipulator.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
IMeshSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935
IMeshWriter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
IMetaTriangleSelector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937
IOSOperator.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
IParticleAffector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
IParticleAnimatedMeshSceneNodeEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . 941
IParticleAttractionAffector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942
IParticleBoxEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
IParticleCylinderEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
IParticleEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
IParticleFadeOutAffector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
IParticleGravityAffector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
IParticleMeshEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
IParticleRingEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
IParticleRotationAffector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
IParticleSphereEmitter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
IParticleSystemSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
IQ3LevelMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
IQ3Shader.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
IReadFile.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959
IReferenceCounted.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960
irrAllocator.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961
irrArray.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962
IrrCompileConfig.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963
irrlicht.h (Main header file of the irrlicht, the only file needed to include ) . . . . . . . . . . . . 974
IrrlichtDevice.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979
irrList.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980
irrMap.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981
irrMath.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982
irrString.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993
irrTypes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
irrXML.h (File containing useful basic utility functions ) . . . . . . . . . . . . . . . . . . . . . 998
ISceneCollisionManager.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005
ISceneManager.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
ISceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
ISceneNodeAnimator.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009
ISceneNodeAnimatorCollisionResponse.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010
ISceneNodeAnimatorFactory.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011
ISceneNodeFactory.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
ISceneUserDataSerializer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
IShaderConstantSetCallBack.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014
IShadowVolumeSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015
ISkinnedMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016
ITerrainSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
ITextSceneNode.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018
ITexture.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019
ITimer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
ITriangleSelector.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022
IVideoDriver.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
IVideoModeList.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
IWriteFile.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026
IXMLReader.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
IXMLWriter.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
Keycodes.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
line2d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
line3d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
matrix4.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036
plane3d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
position2d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
quaternion.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041
rect.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
S3DVertex.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043
SAnimatedMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045
SceneParameters.h (Header file containing all scene parameters for modifying mesh loading etc ) 1046
SColor.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049
SExposedVideoData.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
SIrrCreationParameters.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054
SKeyMap.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
SLight.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
SMaterial.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057
SMaterialLayer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060
SMesh.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
SMeshBuffer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
SMeshBufferLightMap.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
SMeshBufferTangents.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064
SParticle.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
SSharedMeshBuffer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
SSkinMeshBuffer.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
SViewFrustum.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
triangle3d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069
vector2d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
vector3d.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071
Classes
• class IEventReceiver
Interface of an object which can receive events.
• class ILogger
Interface for logging messages, warnings and errors.
• class IOSOperator
The Operating system operator provides operation system specific methods and informations.
• class IReferenceCounted
Base class of most objects of the Irrlicht Engine.
• class IrrlichtDevice
The Irrlicht device. You can create it with createDevice() or createDeviceEx().
• class ITimer
Interface for getting and manipulating the virtual time.
• struct SEvent
SEvents hold information about an event. See irr::IEventReceiver for details on event handling.
• struct SIrrlichtCreationParameters
Structure for holding advanced Irrlicht Device creation parameters.
• struct SKeyMap
Struct storing which key belongs to which action.
20 Irrlicht Engine Namespace Documentation
Namespaces
• namespace core
In this namespace can be found basic classes like vectors, planes, arrays, lists and so on.
• namespace gui
The gui namespace contains useful classes for easy creation of a graphical user interface.
• namespace io
• namespace scene
• namespace video
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here.
Typedefs
• typedef char c8
8 bit character variable.
Enumerations
• enum EEVENT_TYPE {
EET_GUI_EVENT = 0, EET_MOUSE_INPUT_EVENT, EET_KEY_INPUT_EVENT, EET_-
LOG_TEXT_EVENT,
EET_USER_EVENT }
• enum EKEY_ACTION {
EKA_MOVE_FORWARD = 0, EKA_MOVE_BACKWARD, EKA_STRAFE_LEFT, EKA_-
STRAFE_RIGHT,
EKA_JUMP_UP, EKA_COUNT, EKA_FORCE_32BIT = 0x7fffffff }
enumeration for key actions. Used for example in the FPS Camera.
• enum EKEY_CODE {
KEY_LBUTTON = 0x01, KEY_RBUTTON = 0x02, KEY_CANCEL = 0x03, KEY_MBUTTON =
0x04,
KEY_XBUTTON1 = 0x05, KEY_XBUTTON2 = 0x06, KEY_BACK = 0x08, KEY_TAB = 0x09,
KEY_CLEAR = 0x0C, KEY_RETURN = 0x0D, KEY_SHIFT = 0x10, KEY_CONTROL = 0x11,
KEY_MENU = 0x12, KEY_PAUSE = 0x13, KEY_CAPITAL = 0x14, KEY_KANA = 0x15,
KEY_HANGUEL = 0x15, KEY_HANGUL = 0x15, KEY_JUNJA = 0x17, KEY_FINAL = 0x18,
KEY_HANJA = 0x19, KEY_KANJI = 0x19, KEY_ESCAPE = 0x1B, KEY_CONVERT = 0x1C,
KEY_NONCONVERT = 0x1D, KEY_ACCEPT = 0x1E, KEY_MODECHANGE = 0x1F, KEY_-
SPACE = 0x20,
KEY_PRIOR = 0x21, KEY_NEXT = 0x22, KEY_END = 0x23, KEY_HOME = 0x24,
KEY_LEFT = 0x25, KEY_UP = 0x26, KEY_RIGHT = 0x27, KEY_DOWN = 0x28,
KEY_SELECT = 0x29, KEY_PRINT = 0x2A, KEY_EXECUT = 0x2B, KEY_SNAPSHOT = 0x2C,
KEY_INSERT = 0x2D, KEY_DELETE = 0x2E, KEY_HELP = 0x2F, KEY_KEY_0 = 0x30,
KEY_KEY_1 = 0x31, KEY_KEY_2 = 0x32, KEY_KEY_3 = 0x33, KEY_KEY_4 = 0x34,
KEY_KEY_5 = 0x35, KEY_KEY_6 = 0x36, KEY_KEY_7 = 0x37, KEY_KEY_8 = 0x38,
KEY_KEY_9 = 0x39, KEY_KEY_A = 0x41, KEY_KEY_B = 0x42, KEY_KEY_C = 0x43,
KEY_KEY_D = 0x44, KEY_KEY_E = 0x45, KEY_KEY_F = 0x46, KEY_KEY_G = 0x47,
KEY_KEY_H = 0x48, KEY_KEY_I = 0x49, KEY_KEY_J = 0x4A, KEY_KEY_K = 0x4B,
KEY_KEY_L = 0x4C, KEY_KEY_M = 0x4D, KEY_KEY_N = 0x4E, KEY_KEY_O = 0x4F,
KEY_KEY_P = 0x50, KEY_KEY_Q = 0x51, KEY_KEY_R = 0x52, KEY_KEY_S = 0x53,
KEY_KEY_T = 0x54, KEY_KEY_U = 0x55, KEY_KEY_V = 0x56, KEY_KEY_W = 0x57,
KEY_KEY_X = 0x58, KEY_KEY_Y = 0x59, KEY_KEY_Z = 0x5A, KEY_LWIN = 0x5B,
KEY_RWIN = 0x5C, KEY_APPS = 0x5D, KEY_SLEEP = 0x5F, KEY_NUMPAD0 = 0x60,
KEY_NUMPAD1 = 0x61, KEY_NUMPAD2 = 0x62, KEY_NUMPAD3 = 0x63, KEY_NUMPAD4
= 0x64,
KEY_NUMPAD5 = 0x65, KEY_NUMPAD6 = 0x66, KEY_NUMPAD7 = 0x67, KEY_NUMPAD8
= 0x68,
KEY_NUMPAD9 = 0x69, KEY_MULTIPLY = 0x6A, KEY_ADD = 0x6B, KEY_SEPARATOR =
0x6C,
KEY_SUBTRACT = 0x6D, KEY_DECIMAL = 0x6E, KEY_DIVIDE = 0x6F, KEY_F1 = 0x70,
KEY_F2 = 0x71, KEY_F3 = 0x72, KEY_F4 = 0x73, KEY_F5 = 0x74,
KEY_F6 = 0x75, KEY_F7 = 0x76, KEY_F8 = 0x77, KEY_F9 = 0x78,
KEY_F10 = 0x79, KEY_F11 = 0x7A, KEY_F12 = 0x7B, KEY_F13 = 0x7C,
KEY_F14 = 0x7D, KEY_F15 = 0x7E, KEY_F16 = 0x7F, KEY_F17 = 0x80,
• enum EMOUSE_INPUT_EVENT {
EMIE_LMOUSE_PRESSED_DOWN = 0, EMIE_RMOUSE_PRESSED_DOWN, EMIE_-
MMOUSE_PRESSED_DOWN, EMIE_LMOUSE_LEFT_UP,
EMIE_RMOUSE_LEFT_UP, EMIE_MMOUSE_LEFT_UP, EMIE_MOUSE_MOVED, EMIE_-
MOUSE_WHEEL,
EMIE_COUNT }
Enumeration for all mouse input events.
Functions
• IRRLICHT_API IrrlichtDevice ∗IRRCALLCONV createDevice (video::E_DRIVER_-
TYPE deviceType=video::EDT_SOFTWARE, const core::dimension2d< s32 > &window-
Size=(core::dimension2d< s32 >(640, 480)), u32 bits=16, bool fullscreen=false, bool stencil-
buffer=false, bool vsync=false, IEventReceiver ∗receiver=0, const c8 ∗sdk_version_do_not_-
use=IRRLICHT_SDK_VERSION)
Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.
Enumeration values:
EET_GUI_EVENT An event of the graphical user interface.
GUI events are created by the GUI environment or the GUI elements in response to mouse or
keyboard events. When a GUI element receives an event it will either process it and return true,
or pass the event to its parent. If an event is not absorbed before it reaches the root element then
it will then be passed to the user receiver.
EET_MOUSE_INPUT_EVENT A mouse input event.
Mouse events are created by the device and passed to IrrlichtDevice::postEventFromUser in re-
sponse to mouse input received from the operating system. Mouse events are first passed to the
user receiver, then to the GUI environment (and possibly many GUI elements), then finally the
input receiving scene manager (and possibly the active camera)
EET_KEY_INPUT_EVENT A key input evant.
Keyboard events are also created by the device and passed to IrrlichtDevice::postEventFromUser.
They take the same path as mouse events.
EET_LOG_TEXT_EVENT A log event.
Log events are only passed to the user receiver if there is one. If they are absorbed by the user
receiver then no text will be sent to the console.
EET_USER_EVENT A user event with user data.
This is not used by Irrlicht and can be used to send user specific data though the system.
enumeration for key actions. Used for example in the FPS Camera.
Enumeration values:
EKA_MOVE_FORWARD
EKA_MOVE_BACKWARD
EKA_STRAFE_LEFT
EKA_STRAFE_RIGHT
EKA_JUMP_UP
EKA_COUNT
EKA_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.
Enumeration values:
KEY_LBUTTON
KEY_RBUTTON
KEY_CANCEL
KEY_MBUTTON
KEY_XBUTTON1
KEY_XBUTTON2
KEY_BACK
KEY_TAB
KEY_CLEAR
KEY_RETURN
KEY_SHIFT
KEY_CONTROL
KEY_MENU
KEY_PAUSE
KEY_CAPITAL
KEY_KANA
KEY_HANGUEL
KEY_HANGUL
KEY_JUNJA
KEY_FINAL
KEY_HANJA
KEY_KANJI
KEY_ESCAPE
KEY_CONVERT
KEY_NONCONVERT
KEY_ACCEPT
KEY_MODECHANGE
KEY_SPACE
KEY_PRIOR
KEY_NEXT
KEY_END
KEY_HOME
KEY_LEFT
KEY_UP
KEY_RIGHT
KEY_DOWN
KEY_SELECT
KEY_PRINT
KEY_EXECUT
KEY_SNAPSHOT
KEY_INSERT
KEY_DELETE
KEY_HELP
KEY_KEY_0
KEY_KEY_1
KEY_KEY_2
KEY_KEY_3
KEY_KEY_4
KEY_KEY_5
KEY_KEY_6
KEY_KEY_7
KEY_KEY_8
KEY_KEY_9
KEY_KEY_A
KEY_KEY_B
KEY_KEY_C
KEY_KEY_D
KEY_KEY_E
KEY_KEY_F
KEY_KEY_G
KEY_KEY_H
KEY_KEY_I
KEY_KEY_J
KEY_KEY_K
KEY_KEY_L
KEY_KEY_M
KEY_KEY_N
KEY_KEY_O
KEY_KEY_P
KEY_KEY_Q
KEY_KEY_R
KEY_KEY_S
KEY_KEY_T
KEY_KEY_U
KEY_KEY_V
KEY_KEY_W
KEY_KEY_X
KEY_KEY_Y
KEY_KEY_Z
KEY_LWIN
KEY_RWIN
KEY_APPS
KEY_SLEEP
KEY_NUMPAD0
KEY_NUMPAD1
KEY_NUMPAD2
KEY_NUMPAD3
KEY_NUMPAD4
KEY_NUMPAD5
KEY_NUMPAD6
KEY_NUMPAD7
KEY_NUMPAD8
KEY_NUMPAD9
KEY_MULTIPLY
KEY_ADD
KEY_SEPARATOR
KEY_SUBTRACT
KEY_DECIMAL
KEY_DIVIDE
KEY_F1
KEY_F2
KEY_F3
KEY_F4
KEY_F5
KEY_F6
KEY_F7
KEY_F8
KEY_F9
KEY_F10
KEY_F11
KEY_F12
KEY_F13
KEY_F14
KEY_F15
KEY_F16
KEY_F17
KEY_F18
KEY_F19
KEY_F20
KEY_F21
KEY_F22
KEY_F23
KEY_F24
KEY_NUMLOCK
KEY_SCROLL
KEY_LSHIFT
KEY_RSHIFT
KEY_LCONTROL
KEY_RCONTROL
KEY_LMENU
KEY_RMENU
KEY_PLUS
KEY_COMMA
KEY_MINUS
KEY_PERIOD
KEY_ATTN
KEY_CRSEL
KEY_EXSEL
KEY_EREOF
KEY_PLAY
KEY_ZOOM
KEY_PA1
KEY_OEM_CLEAR
KEY_KEY_CODES_COUNT
Enumeration values:
ELL_INFORMATION High log level, warnings, errors and important information texts are printed
out.
ELL_WARNING Default log level, warnings and errors are printed out.
ELL_ERROR Low log level, only errors are printed into the log.
ELL_NONE Nothing is printed out to the log.
Enumeration values:
EMIE_LMOUSE_PRESSED_DOWN Left mouse button was pressed down.
EMIE_RMOUSE_PRESSED_DOWN Right mouse button was pressed down.
EMIE_MMOUSE_PRESSED_DOWN Middle mouse button was pressed down.
EMIE_LMOUSE_LEFT_UP Left mouse button was left up.
EMIE_RMOUSE_LEFT_UP Right mouse button was left up.
EMIE_MMOUSE_LEFT_UP Middle mouse button was left up.
EMIE_MOUSE_MOVED The mouse cursor changed its position.
EMIE_MOUSE_WHEEL The mouse wheel was moved. Use Wheel value in event data to find out
in what direction and how fast.
EMIE_COUNT No real event. Just for convenience to get number of events.
Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.
If you need more parameters to be passed to the creation of the Irrlicht Engine device, use the createDevice-
Ex() function.
Parameters:
deviceType: Type of the device. This can currently be video::EDT_NULL, video::EDT_SOFTWARE,
video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D8, video::EDT_DIRECT3D9 and
video::EDT_OPENGL.
windowSize: Size of the window or the video mode in fullscreen mode.
bits: Bits per pixel in fullscreen mode. Ignored if windowed mode.
fullscreen: Should be set to true if the device should run in fullscreen. Otherwise the device runs in
windowed mode.
stencilbuffer: Specifies if the stencil buffer should be enabled. Set this to true, if you want the engine
be able to draw stencil buffer shadows. Note that not all devices are able to use the stencil buffer.
If they don’t no shadows will be drawn.
vsync: Specifies vertical syncronisation: If set to true, the driver will wait for the vertical retrace
period, otherwise not.
receiver: A user created event receiver.
sdk_version_do_not_use: Don’t use or change this parameter. Always set it to IRRLICHT_SDK_-
VERSION, which is done by default. This is needed for sdk version checks.
Returns:
Returns pointer to the created IrrlichtDevice or null if the device could not be created.
Parameters:
parameters: Structure containing advanced parameters for the creation of the device. See
irr::SIrrlichtCreationParameters for details.
Returns:
Returns pointer to the created IrrlichtDevice or null if the device could not be created.
Classes
• class aabbox3d
Axis aligned bounding box in 3d dimensional space.
• class array
Self reallocating template array (like stl vector) with additional features.
• class CMatrix4
4x4 matrix. Mostly used as transformation matrix for 3d calculations.
• class dimension2d
Specifies a 2 dimensional size.
• class irrAllocator
Very simple allocator implementation, containers using it can be used across dll boundaries.
• class irrAllocatorFast
Fast allocator, only to be used in containers inside the same memory heap.
• class line2d
2D line between two points with intersection methods.
• class line3d
3D line between two points with intersection methods.
• class list
Doubly linked list template.
• class map
map template for associative arrays using a red-black tree
• class plane3d
Template plane class with some intersection testing methods.
• class position2d
Simple class for holding 2d coordinates.
• class quaternion
Quaternion class for representing rotations.
• class rect
Rectangle template.
• class string
• class triangle3d
3d triangle template class for doing collision detection and other things.
• class vector2d
2d vector template class with lots of operators and methods.
• class vector3d
3d vector template class with lots of operators and methods.
Typedefs
• typedef aabbox3d< f32 > aabbox3df
Typedef for a f32 3d bounding box.
Enumerations
• enum EIntersectionRelation3D {
ISREL3D_FRONT = 0, ISREL3D_BACK, ISREL3D_PLANAR, ISREL3D_SPANNING,
ISREL3D_CLIPPED }
Enumeration for intersection relations of 3d objects.
Functions
• template<class T> T abs_ (const T &a)
returns abs of two values. Own implementation to get rid of STL (VS6 problems)
• REALINLINE u32 if_c_a_else_b (const s32 condition, const u32 a, const u32 b)
conditional set based on mask and arithmetic shift
• template<class T> const T & min_ (const T &a, const T &b, const T &c)
returns minimum of three values. Own implementation to get rid of the STL (VS6 problems)
• template<class S, class T> vector3d< T > operator ∗ (const S scalar, const vector3d< T > &vec-
tor)
Function multiplying a scalar and a vector component-wise.
• template<class S, class T> vector2d< T > operator ∗ (const S scalar, const vector2d< T > &vector)
• template<class T> CMatrix4< T > operator ∗ (const T scalar, const CMatrix4< T > &mat)
• REALINLINE f32 reciprocal (const f32 f)
• REALINLINE f32 reciprocal_approxim (const f32 p)
• REALINLINE f32 reciprocal_squareroot (const f32 x)
• REALINLINE s32 round32 (f32 x)
• f32 round_ (f32 x)
• s32 s32_clamp (s32 value, s32 low, s32 high)
• s32 s32_max (s32 a, s32 b)
• s32 s32_min (s32 a, s32 b)
• REALINLINE void setbit_cond (u32 &state, s32 condition, u32 mask)
• u32 strtol10 (const char ∗in, const char ∗∗out=0)
Variables
• const f32 DEGTORAD = PI / 180.0f
32bit Constant for converting from degrees to radians
In this namespace can be found basic classes like vectors, planes, arrays, lists and so on.
Enumeration values:
ISREL3D_FRONT
ISREL3D_BACK
ISREL3D_PLANAR
ISREL3D_SPANNING
ISREL3D_CLIPPED
returns abs of two values. Own implementation to get rid of STL (VS6 problems)
Definition at line 101 of file irrMath.h.
6.2.4.3 template<class T> const T clamp (const T & value, const T & low, const T & high)
[inline]
6.2.4.5 stringc& cutFilenameExtension (stringc & dest, const stringc & source) [inline]
6.2.4.6 bool equals (const u32 a, const u32 b, const u32 tolerance = 0) [inline]
6.2.4.7 bool equals (const s32 a, const s32 b, const s32 tolerance = 0) [inline]
6.2.4.8 bool equals (const f32 a, const f32 b, const f32 tolerance = ROUNDING_ERROR_32)
[inline]
6.2.4.9 f32 f32_max3 (const f32 a, const f32 b, const f32 c) [inline]
6.2.4.10 f32 f32_min3 (const f32 a, const f32 b, const f32 c) [inline]
6.2.4.12 const char∗ fast_atof_move (const char ∗ c, float & out) [inline]
Provides a fast function for converting a string into a float, about 6 times faster than atof in win32.
Definition at line 56 of file fast_atof.h.
References fast_atof_table, and strtol10().
Referenced by fast_atof(), and irr::scene::quake3::getAsFloat().
6.2.4.15 stringc& getFileNameExtension (stringc & dest, const stringc & source) [inline]
6.2.4.16 template<class T> void heapsink (T ∗ array, s32 element, s32 max) [inline]
6.2.4.19 REALINLINE u32 if_c_a_else_b (const s32 condition, const u32 a, const u32 b)
6.2.4.25 bool iszero (const f32 a, const f32 tolerance = ROUNDING_ERROR_32) [inline]
6.2.4.26 template<class T> T lerp (const T & a, const T & b, const f32 t) [inline]
Returns:
: a if t==0, b if t==1, and the linear interpolation else
6.2.4.27 template<class T> const T& max_ (const T & a, const T & b, const T & c) [inline]
returns maximum of three values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 94 of file irrMath.h.
References max_().
6.2.4.28 template<class T> const T& max_ (const T & a, const T & b) [inline]
returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 87 of file irrMath.h.
Referenced by clamp(), and max_().
6.2.4.29 template<class T> const T& min_ (const T & a, const T & b, const T & c) [inline]
returns minimum of three values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 80 of file irrMath.h.
References min_().
6.2.4.30 template<class T> const T& min_ (const T & a, const T & b) [inline]
returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 73 of file irrMath.h.
Referenced by clamp(), min_(), and irr::video::SColor::operator+().
6.2.4.31 template<class S, class T> vector3d<T> operator ∗ (const S scalar, const vector3d< T >
& vector)
6.2.4.32 template<class S, class T> vector2d<T> operator ∗ (const S scalar, const vector2d< T >
& vector)
6.2.4.33 template<class T> CMatrix4<T> operator ∗ (const T scalar, const CMatrix4< T > &
mat) [inline]
6.2.4.39 s32 s32_clamp (s32 value, s32 low, s32 high) [inline]
6.2.4.42 REALINLINE void setbit_cond (u32 & state, s32 condition, u32 mask)
6.2.4.43 u32 strtol10 (const char ∗ in, const char ∗∗ out = 0) [inline]
64bit constant for converting from degrees to radians (formally known as GRAD_PI2)
Definition at line 66 of file irrMath.h.
Referenced by irr::core::vector2d< f32 >::rotateBy(), irr::core::vector3d< f32 >::rotateXYBy(),
irr::core::vector3d< f32 >::rotateXZBy(), and irr::core::vector3d< f32 >::rotateYZBy().
Initial value:
{
0.f,
0.1f,
0.01f,
0.001f,
0.0001f,
0.00001f,
0.000001f,
0.0000001f,
0.00000001f,
0.000000001f,
0.0000000001f,
0.00000000001f,
0.000000000001f,
0.0000000000001f,
0.00000000000001f,
0.000000000000001f
}
32bit constant for converting from radians to degrees (formally known as GRAD_PI)
Definition at line 63 of file irrMath.h.
Classes
• class ICursorControl
Interface to manipulate the mouse cursor.
• class IGUIButton
GUI Button interface.
• class IGUICheckBox
GUI Check box interface.
• class IGUIColorSelectDialog
Standard file chooser dialog.
• class IGUIComboBox
Combobox widget.
• class IGUIContextMenu
GUI Context menu interface.
• class IGUIEditBox
Single line edit box for editing simple text.
• class IGUIElement
Base class of all GUI elements.
• class IGUIElementFactory
Interface making it possible to dynamicly create GUI elements.
• class IGUIEnvironment
GUI Environment. Used as factory and manager of all other GUI elements.
• class IGUIFileOpenDialog
Standard file chooser dialog.
• class IGUIFont
Font interface.
• class IGUIFontBitmap
Font interface.
• class IGUIImage
GUI element displaying an image.
• class IGUIInOutFader
• class IGUIListBox
Default list box GUI element.
• class IGUIMeshViewer
3d mesh viewing GUI element.
• class IGUIScrollBar
Default scroll bar GUI element.
• class IGUISkin
A skin modifies the look of the GUI elements.
• class IGUISpinBox
Single line edit box + spin buttons.
• class IGUISpriteBank
Sprite bank interface.
• class IGUIStaticText
Multi or single line text label.
• class IGUITab
A tab, onto which other gui elements could be added.
• class IGUITabControl
A standard tab control.
• class IGUIToolBar
Stays at the top of its parent like the menu bar and contains tool buttons.
• class IGUIWindow
Default moveable window GUI element with border, caption and close icons.
• struct SGUISprite
A sprite composed of several frames.
• struct SGUISpriteFrame
A single sprite frame.
Enumerations
• enum EGUI_ALIGNMENT { EGUIA_UPPERLEFT = 0, EGUIA_LOWERRIGHT, EGUIA_-
CENTER, EGUIA_SCALE }
• enum EGUI_BUTTON_STATE {
EGBS_BUTTON_UP = 0, EGBS_BUTTON_DOWN, EGBS_BUTTON_MOUSE_OVER, EGBS_-
BUTTON_MOUSE_OFF,
EGBS_BUTTON_FOCUSED, EGBS_BUTTON_NOT_FOCUSED, EGBS_COUNT }
• enum EGUI_DEFAULT_COLOR {
EGDC_3D_DARK_SHADOW = 0, EGDC_3D_SHADOW, EGDC_3D_FACE, EGDC_3D_-
HIGH_LIGHT,
EGDC_3D_LIGHT, EGDC_ACTIVE_BORDER, EGDC_ACTIVE_CAPTION, EGDC_APP_-
WORKSPACE,
EGDC_BUTTON_TEXT, EGDC_GRAY_TEXT, EGDC_HIGH_LIGHT, EGDC_HIGH_LIGHT_-
TEXT,
EGDC_INACTIVE_BORDER, EGDC_INACTIVE_CAPTION, EGDC_TOOLTIP, EGDC_-
TOOLTIP_BACKGROUND,
EGDC_SCROLLBAR, EGDC_WINDOW, EGDC_WINDOW_SYMBOL, EGDC_ICON,
EGDC_ICON_HIGH_LIGHT, EGDC_COUNT }
Enumeration for skin colors.
• enum EGUI_DEFAULT_FONT {
EGDF_DEFAULT = 0, EGDF_BUTTON, EGDF_WINDOW, EGDF_MENU,
EGDF_TOOLTIP, EGDF_COUNT }
• enum EGUI_DEFAULT_ICON {
EGDI_WINDOW_MAXIMIZE = 0, EGDI_WINDOW_RESTORE, EGDI_WINDOW_CLOSE,
EGDI_WINDOW_MINIMIZE,
EGDI_WINDOW_RESIZE, EGDI_CURSOR_UP, EGDI_CURSOR_DOWN, EGDI_CURSOR_-
LEFT,
EGDI_CURSOR_RIGHT, EGDI_MENU_MORE, EGDI_CHECK_BOX_CHECKED, EGDI_-
DROP_DOWN,
EGDI_SMALL_CURSOR_UP, EGDI_SMALL_CURSOR_DOWN, EGDI_RADIO_BUTTON_-
CHECKED, EGDI_MORE_LEFT,
EGDI_MORE_RIGHT, EGDI_MORE_UP, EGDI_MORE_DOWN, EGDI_EXPAND,
EGDI_COLLAPSE, EGDI_FILE, EGDI_DIRECTORY, EGDI_COUNT }
Customizable symbols for GUI.
• enum EGUI_DEFAULT_SIZE {
EGDS_SCROLLBAR_SIZE = 0, EGDS_MENU_HEIGHT, EGDS_WINDOW_BUTTON_-
WIDTH, EGDS_CHECK_BOX_WIDTH,
EGDS_MESSAGE_BOX_WIDTH, EGDS_MESSAGE_BOX_HEIGHT, EGDS_BUTTON_-
WIDTH, EGDS_BUTTON_HEIGHT,
EGDS_TEXT_DISTANCE_X, EGDS_TEXT_DISTANCE_Y, EGDS_COUNT }
Enumeration for default sizes.
• enum EGUI_DEFAULT_TEXT {
EGDT_MSG_BOX_OK = 0, EGDT_MSG_BOX_CANCEL, EGDT_MSG_BOX_YES, EGDT_-
MSG_BOX_NO,
EGDT_WINDOW_CLOSE, EGDT_WINDOW_MAXIMIZE, EGDT_WINDOW_MINIMIZE,
EGDT_WINDOW_RESTORE,
EGDT_COUNT }
• enum EGUI_ELEMENT_TYPE {
EGUIET_BUTTON = 0, EGUIET_CHECK_BOX, EGUIET_COMBO_BOX, EGUIET_-
CONTEXT_MENU,
EGUIET_MENU, EGUIET_EDIT_BOX, EGUIET_FILE_OPEN_DIALOG, EGUIET_COLOR_-
SELECT_DIALOG,
EGUIET_IN_OUT_FADER, EGUIET_IMAGE, EGUIET_LIST_BOX, EGUIET_MESH_-
VIEWER,
EGUIET_MESSAGE_BOX, EGUIET_MODAL_SCREEN, EGUIET_SCROLL_BAR, EGUIET_-
STATIC_TEXT,
EGUIET_TAB, EGUIET_TAB_CONTROL, EGUIET_TOOL_BAR, EGUIET_WINDOW,
EGUIET_SPIN_BOX, EGUIET_COUNT, EGUIET_ELEMENT, EGUIET_FORCE_32_BIT =
0x7fffffff }
List of all basic Irrlicht GUI elements.
• enum EGUI_EVENT_TYPE {
EGET_ELEMENT_FOCUS_LOST = 0, EGET_ELEMENT_FOCUSED, EGET_ELEMENT_-
HOVERED, EGET_ELEMENT_LEFT,
EGET_ELEMENT_CLOSED, EGET_BUTTON_CLICKED, EGET_SCROLL_BAR_CHANGED,
EGET_CHECKBOX_CHANGED,
EGET_LISTBOX_CHANGED, EGET_LISTBOX_SELECTED_AGAIN, EGET_FILE_-
SELECTED, EGET_FILE_CHOOSE_DIALOG_CANCELLED,
EGET_MESSAGEBOX_YES, EGET_MESSAGEBOX_NO, EGET_MESSAGEBOX_OK,
EGET_MESSAGEBOX_CANCEL,
EGET_EDITBOX_ENTER, EGET_TAB_CHANGED, EGET_MENU_ITEM_SELECTED,
EGET_COMBO_BOX_CHANGED,
EGET_SPINBOX_CHANGED }
Enumeration for all events which are sendable by the gui system.
• enum EGUI_LISTBOX_COLOR {
EGUI_LBC_TEXT = 0, EGUI_LBC_TEXT_HIGHLIGHT, EGUI_LBC_ICON, EGUI_LBC_-
ICON_HIGHLIGHT,
EGUI_LBC_COUNT }
Enumeration for listbox colors.
• enum EMESSAGE_BOX_FLAG {
EMBF_OK = 0x1, EMBF_CANCEL = 0x2, EMBF_YES = 0x4, EMBF_NO = 0x8,
EMBF_FORCE_32BIT = 0x7fffffff }
enumeration for message box layout flags
Variables
• const c8 ∗const GUIAlignmentNames [ ]
Names for alignments.
The gui namespace contains useful classes for easy creation of a graphical user interface.
Enumeration values:
EGUIA_UPPERLEFT Aligned to parent’s top or left side (default).
EGUIA_LOWERRIGHT Aligned to parent’s bottom or right side.
EGUIA_CENTER Aligned to the center of parent.
EGUIA_SCALE Scaled within its parent.
Enumeration values:
EGBS_BUTTON_UP The button is not pressed.
EGBS_BUTTON_DOWN The button is currently pressed down.
EGBS_BUTTON_MOUSE_OVER The mouse cursor is over the button.
Enumeration values:
EGDC_3D_DARK_SHADOW Dark shadow for three-dimensional display elements.
EGDC_3D_SHADOW Shadow color for three-dimensional display elements (for edges facing away
from the light source).
EGDC_3D_FACE Face color for three-dimensional display elements and for dialog box back-
grounds.
EGDC_3D_HIGH_LIGHT Highlight color for three-dimensional display elements (for edges fac-
ing the light source.).
EGDC_3D_LIGHT Light color for three-dimensional display elements (for edges facing the light
source.).
EGDC_ACTIVE_BORDER Active window border.
EGDC_ACTIVE_CAPTION Active window title bar text.
EGDC_APP_WORKSPACE Background color of multiple document interface (MDI) applications.
Enumeration values:
EGDF_DEFAULT For static text, edit boxes, lists and most other places.
EGDF_BUTTON Font for buttons.
EGDF_WINDOW Font for window title bars.
EGDF_MENU Font for menu items.
EGDF_TOOLTIP Font for tooltips.
EGDF_COUNT this value is not used, it only specifies the amount of default fonts available.
Enumeration values:
EGDI_WINDOW_MAXIMIZE maximize window button
EGDI_WINDOW_RESTORE restore window button
EGDI_WINDOW_CLOSE close window button
EGDI_WINDOW_MINIMIZE minimize window button
EGDI_WINDOW_RESIZE resize icon for bottom right corner of a window
EGDI_CURSOR_UP scroll bar up button
EGDI_CURSOR_DOWN scroll bar down button
EGDI_CURSOR_LEFT scroll bar left button
EGDI_CURSOR_RIGHT scroll bar right button
EGDI_MENU_MORE icon for menu children
EGDI_CHECK_BOX_CHECKED tick for checkbox
EGDI_DROP_DOWN down arrow for dropdown menus
EGDI_SMALL_CURSOR_UP smaller up arrow
EGDI_SMALL_CURSOR_DOWN smaller down arrow
EGDI_RADIO_BUTTON_CHECKED selection dot in a radio button
EGDI_MORE_LEFT << icon indicating there is more content to the left
EGDI_MORE_RIGHT >> icon indicating that there is more content to the right
EGDI_MORE_UP icon indicating that there is more content above
EGDI_MORE_DOWN icon indicating that there is more content below
EGDI_EXPAND plus icon for trees
EGDI_COLLAPSE minus icon for trees
EGDI_FILE file icon for file selection
EGDI_DIRECTORY folder icon for file selection
EGDI_COUNT value not used, it only specifies the number of icons
Enumeration values:
EGDS_SCROLLBAR_SIZE default with / height of scrollbar
EGDS_MENU_HEIGHT height of menu
EGDS_WINDOW_BUTTON_WIDTH width of a window button
EGDS_CHECK_BOX_WIDTH width of a checkbox check
EGDS_MESSAGE_BOX_WIDTH width of a messagebox
EGDS_MESSAGE_BOX_HEIGHT height of a messagebox
EGDS_BUTTON_WIDTH width of a default button
EGDS_BUTTON_HEIGHT height of a default button
EGDS_TEXT_DISTANCE_X distance for text from background
EGDS_TEXT_DISTANCE_Y distance for text from background
EGDS_COUNT this value is not used, it only specifies the amount of default sizes available.
Enumeration values:
EGDT_MSG_BOX_OK Text for the OK button on a message box.
EGDT_MSG_BOX_CANCEL Text for the Cancel button on a message box.
EGDT_MSG_BOX_YES Text for the Yes button on a message box.
EGDT_MSG_BOX_NO Text for the No button on a message box.
EGDT_WINDOW_CLOSE Tooltip text for window close button.
EGDT_WINDOW_MAXIMIZE Tooltip text for window maximize button.
EGDT_WINDOW_MINIMIZE Tooltip text for window minimize button.
EGDT_WINDOW_RESTORE Tooltip text for window restore button.
EGDT_COUNT this value is not used, it only specifies the number of default texts
Enumeration values:
EGUIET_BUTTON A button (IGUIButton).
EGUIET_CHECK_BOX A check box (IGUICheckBox).
EGUIET_COMBO_BOX A combo box (IGUIComboBox).
EGUIET_CONTEXT_MENU A context menu (IGUIContextMenu).
EGUIET_MENU A menu (IGUIMenu).
Enumeration for all events which are sendable by the gui system.
Enumeration values:
EGET_ELEMENT_FOCUS_LOST A gui element has lost its focus.
GUIEvent.Caller is losing the focus to GUIEvent.Element. If the event is absorbed then the focus
will not be changed.
EGET_ELEMENT_FOCUSED A gui element has got the focus.
If the event is absorbed then the focus will not be changed.
EGET_ELEMENT_HOVERED The mouse cursor hovered over a gui element.
EGET_ELEMENT_LEFT The mouse cursor left the hovered element.
EGET_ELEMENT_CLOSED An element would like to close.
Windows and context menus use this event when they would like to close, this can be cancelled
by absorbing the event.
EGET_BUTTON_CLICKED A button was clicked.
EGET_SCROLL_BAR_CHANGED A scrollbar has changed its position.
EGET_CHECKBOX_CHANGED A checkbox has changed its check state.
EGET_LISTBOX_CHANGED A new item in a listbox was seleted.
EGET_LISTBOX_SELECTED_AGAIN An item in the listbox was selected, which was already
selected.
Enumeration values:
EGFT_BITMAP Bitmap fonts loaded from an XML file or a texture.
EGFT_VECTOR Scalable vector fonts loaded from an XML file. These fonts reside in system
memory and use no video memory until they are displayed. These are slower than bitmap fonts
but can be easily scaled and rotated.
EGFT_OS A font which uses a the native API provided by the operating system. Currently not used.
Enumeration values:
EGUI_LBC_TEXT Color of text.
EGUI_LBC_TEXT_HIGHLIGHT Color of selected text.
EGUI_LBC_ICON Color of icon.
EGUI_LBC_ICON_HIGHLIGHT Color of selected icon.
EGUI_LBC_COUNT Not used, just counts the number of available colors.
Enumeration values:
EGST_WINDOWS_CLASSIC Default windows look and feel.
EGST_WINDOWS_METALLIC Like EGST_WINDOWS_CLASSIC, but with metallic shaded
windows and buttons.
EGST_BURNING_SKIN Burning’s skin.
EGST_UNKNOWN An unknown skin, not serializable at present.
Enumeration values:
EMBF_OK Flag for the ok button.
EMBF_CANCEL Flag for the cancel button.
EMBF_YES Flag for the yes button.
EMBF_NO Flag for the no button.
EMBF_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.
Initial value:
{
"upperLeft",
"lowerRight",
"center",
"scale",
0
}
Initial value:
{
"buttonUp",
"buttonDown",
"buttonMouseOver",
"buttonMouseOff",
"buttonFocused",
"buttonNotFocused",
0,
0,
}
Initial value:
{
"button",
"checkBox",
"comboBox",
"contextMenu",
"menu",
"editBox",
"fileOpenDialog",
"colorSelectDialog",
"inOutFader",
"image",
"listBox",
"meshViewer",
"messageBox",
"modalScreen",
"scrollBar",
"staticText",
"tab",
"tabControl",
"toolBar",
"window",
"spinBox",
0
}
Initial value:
{
"3DDarkShadow",
"3DShadow",
"3DFace",
"3DHighlight",
"3DLight",
"ActiveBorder",
"ActiveCaption",
"AppWorkspace",
"ButtonText",
"GrayText",
"Highlight",
"HighlightText",
"InactiveBorder",
"InactiveCaption",
"ToolTip",
"ToolTipBackground",
"ScrollBar",
"Window",
"WindowSymbol",
"Icon",
"IconHighlight",
0,
}
Initial value:
{
"defaultFont",
"buttonFont",
"windowFont",
"menuFont",
"tooltipFont",
0
}
Initial value:
{
"windowMaximize",
"windowRestore",
"windowClose",
"windowMinimize",
"windowResize",
"cursorUp",
"cursorDown",
"cursorLeft",
"cursorRight",
"menuMore",
"checkBoxChecked",
"dropDown",
"smallCursorUp",
"smallCursorDown",
"radioButtonChecked",
"moreLeft",
"moreRight",
"moreUp",
"moreDown",
"expand",
"collapse",
"file",
"directory",
0
}
Initial value:
{
"ScrollBarSize",
"MenuHeight",
"WindowButtonWidth",
"CheckBoxWidth",
"MessageBoxWidth",
"MessageBoxHeight",
"ButtonWidth",
"ButtonHeight",
"TextDistanceX",
"TextDistanceY",
0,
}
Initial value:
{
"MessageBoxOkay",
"MessageBoxCancel",
"MessageBoxYes",
"MessageBoxNo",
"WindowButtonClose",
"WindowButtonMaximize",
"WindowButtonMinimize",
"WindowButtonRestore",
0,
}
Initial value:
{
"windowsClassic",
"windowsMetallic",
"burning",
"unknown",
0,
}
Classes
• class IAttributeExchangingObject
An object which is able to serialize and deserialize its attributes into an attributes object.
• class IAttributes
Provides a generic interface for attributes and their values and the possiblity to serialize them.
• class IFileList
The Filelist lists all files in a directory.
• class IFileReadCallBack
Callback class for file read abstraction.
• class IFileSystem
The FileSystem manages files and archives and provides access to them.
• class IIrrXMLReader
Interface providing easy read access to a XML file.
• class IReadFile
Interface providing read acess to a file.
• class IWriteFile
Interface providing write acess to a file.
• class IXMLBase
Empty class to be used as parent class for IrrXMLReader.
• class IXMLWriter
Interface providing methods for making it easier to write XML files.
• struct SAttributeReadWriteOptions
struct holding data describing options
Typedefs
• typedef unsigned short char16
defines the utf-16 type.
Enumerations
• enum E_ATTRIBUTE_READ_WRITE_FLAGS { EARWF_FOR_FILE = 0x00000001, EARWF_-
FOR_EDITOR = 0x00000002, EARWF_USE_RELATIVE_PATHS = 0x00000004 }
Enumeration flags passed through SAttributeReadWriteOptions to the IAttributeExchangingObject object.
• enum E_ATTRIBUTE_TYPE {
EAT_INT = 0, EAT_FLOAT, EAT_STRING, EAT_BOOL,
EAT_ENUM, EAT_COLOR, EAT_COLORF, EAT_VECTOR3D,
EAT_POSITION2D, EAT_VECTOR2D, EAT_RECT, EAT_MATRIX,
EAT_QUATERNION, EAT_BBOX, EAT_PLANE, EAT_TRIANGLE3D,
EAT_LINE2D, EAT_LINE3D, EAT_STRINGWARRAY, EAT_FLOATARRAY,
EAT_INTARRAY, EAT_BINARY, EAT_TEXTURE, EAT_USER_POINTER,
EAT_COUNT, EAT_UNKNOWN }
Types of attributes available for IAttributes.
• enum ETEXT_FORMAT {
ETF_ASCII, ETF_UTF8, ETF_UTF16_BE, ETF_UTF16_LE,
ETF_UTF32_BE, ETF_UTF32_LE }
Enumeration of all supported source text file formats.
• enum EXML_NODE {
EXN_NONE, EXN_ELEMENT, EXN_ELEMENT_END, EXN_TEXT,
EXN_COMMENT, EXN_CDATA, EXN_UNKNOWN }
Enumeration for all xml nodes which are parsed by IrrXMLReader.
Functions
• IRRLICHT_API IrrXMLReader ∗IRRCALLCONV createIrrXMLReader (IFileReadCallBack
∗callback)
Creates an instance of an UFT-8 or ASCII character xml parser.
• IReadFile ∗ createMemoryReadFile (void ∗memory, long size, const c8 ∗fileName, bool delete-
MemoryWhenDropped)
Internal function, please do not use.
This namespace provides interfaces for input/output: Reading and writing files, accessing zip archives, xml
files, ...
Enumeration values:
EARWF_FOR_FILE Serialization/Deserializion is done for an xml file.
EARWF_FOR_EDITOR Serialization/Deserializion is done for an editor property box.
EARWF_USE_RELATIVE_PATHS When writing filenames, relative paths should be used.
Enumeration values:
EAT_INT
EAT_FLOAT
EAT_STRING
EAT_BOOL
EAT_ENUM
EAT_COLOR
EAT_COLORF
EAT_VECTOR3D
EAT_POSITION2D
EAT_VECTOR2D
EAT_RECT
EAT_MATRIX
EAT_QUATERNION
EAT_BBOX
EAT_PLANE
EAT_TRIANGLE3D
EAT_LINE2D
EAT_LINE3D
EAT_STRINGWARRAY
EAT_FLOATARRAY
EAT_INTARRAY
EAT_BINARY
EAT_TEXTURE
EAT_USER_POINTER
EAT_COUNT
EAT_UNKNOWN
Enumeration values:
ETF_ASCII ASCII, file without byte order mark, or not a text file.
ETF_UTF8 UTF-8 format.
ETF_UTF16_BE UTF-16 format, big endian.
ETF_UTF16_LE UTF-16 format, little endian.
ETF_UTF32_BE UTF-32 format, big endian.
ETF_UTF32_LE UTF-32 format, little endian.
Enumeration values:
EXN_NONE No xml node. This is usually the node if you did not read anything yet.
EXN_ELEMENT An xml element such as <foo>.
EXN_ELEMENT_END End of an xml element such as </foo>.
EXN_TEXT Text within an xml element: <foo> this is the text. <foo>.
EXN_COMMENT An xml comment like <!– I am a comment –> or a DTD definition.
EXN_CDATA An xml cdata section like <![CDATA[ this is some CDATA ]]>.
EXN_UNKNOWN Unknown element.
Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
filename: Name of file to be opened.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
filename: Name of file to be opened.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
filename: Name of file to be opened.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
6.4.4.11 IReadFile∗ createMemoryReadFile (void ∗ memory, long size, const c8 ∗ fileName, bool
deleteMemoryWhenDropped)
Classes
• class CMeshBuffer
Template implementation of the IMeshBuffer interface.
• class IAnimatedMesh
Interface for an animated mesh.
• class IAnimatedMeshMD2
Interface for using some special functions of MD2 meshes.
• class IAnimatedMeshMD3
Interface for using some special functions of MD3 meshes.
• class IAnimatedMeshSceneNode
Scene node capable of displaying an animated mesh and its shadow.
• class IAnimationEndCallBack
Callback interface for catching events of ended animations.
• class IBillboardSceneNode
A billboard scene node.
• class IBoneSceneNode
Interface for bones used for skeletal animation.
• class ICameraSceneNode
Scene Node which is a (controlable) camera.
• class IDummyTransformationSceneNode
Dummy scene node for adding additional transformations to the scene graph.
• class ILightSceneNode
Scene node which is a dynamic light.
• class IMesh
Class for accessing a mesh with multiple mesh buffers.
• class IMeshBuffer
Struct for holding a mesh with a single material.
• class IMeshCache
The mesh cache stores already loaded meshes and provides an interface to them.
• class IMeshLoader
Class which is able to load an animated mesh from a file.
• class IMeshManipulator
• class IMeshSceneNode
A scene node displaying a static mesh.
• class IMeshWriter
Interface for writing meshes.
• class IMetaTriangleSelector
Interface for making multiple triangle selectors work as one big selector.
• class IParticleAffector
A particle affector modifies particles.
• class IParticleAnimatedMeshSceneNodeEmitter
A particle emitter which emits particles from mesh vertices.
• class IParticleAttractionAffector
A particle affector which attracts or detracts particles.
• class IParticleBoxEmitter
A particle emitter which emits particles from a box shaped space.
• class IParticleCylinderEmitter
A particle emitter which emits from a cylindrically shaped space.
• class IParticleEmitter
A particle emitter for using with particle systems.
• class IParticleFadeOutAffector
A particle affector which fades out the particles.
• class IParticleGravityAffector
A particle affector which applies gravity to particles.
• class IParticleMeshEmitter
A particle emitter which emits from vertices of a mesh.
• class IParticleRingEmitter
A particle emitter which emits particles along a ring shaped area.
• class IParticleRotationAffector
A particle affector which rotates the particle system.
• class IParticleSphereEmitter
A particle emitter which emits from a spherical space.
• class IParticleSystemSceneNode
A particle system scene node for creating snow, fire, exlosions, smoke...
• class IQ3LevelMesh
Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file.
• class ISceneCollisionManager
The Scene Collision Manager provides methods for performing collision tests and picking on scene nodes.
• class ISceneManager
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
• class ISceneNode
Scene node interface.
• class ISceneNodeAnimator
Animates a scene node. Can animate position, rotation, material, and so on.
• class ISceneNodeAnimatorCollisionResponse
Special scene node animator for doing automatic collision detection and response.
• class ISceneNodeAnimatorFactory
Interface for dynamic creation of scene node animators.
• class ISceneNodeFactory
Interface for dynamic creation of scene nodes.
• class ISceneUserDataSerializer
Interface to read and write user data to and from .irr files.
• class IShadowVolumeSceneNode
Scene node for rendering a shadow volume into a stencil buffer.
• class ISkinnedMesh
Interface for using some special functions of Skinned meshes.
• class ITerrainSceneNode
A scene node for displaying terrain using the geo mip map algorithm.
• class ITextSceneNode
A scene node for displaying 2d text at a position in three dimensional space.
• class ITriangleSelector
Interface to return triangles with specific properties.
• struct SAnimatedMesh
Simple implementation of the IAnimatedMesh interface.
• struct SMD3AnimationInfo
• struct SMD3Face
Triangle Index.
• struct SMD3Header
• struct SMD3Mesh
Holding Frames Buffers and Tag Infos.
• struct SMD3MeshBuffer
Holding Frame Data for a Mesh.
• struct SMD3MeshHeader
this holds the header info of an MD3 mesh section
• struct SMD3QuaterionTag
hold a tag info for connecting meshes
• struct SMD3QuaterionTagList
holds a associative list of named quaternions
• struct SMD3TexCoord
Texture Coordinate.
• struct SMD3Vertex
Compressed Vertex Data.
• struct SMesh
Simple implementation of the IMesh interface.
• struct SParticle
Struct for holding particle data.
• struct SSharedMeshBuffer
Implementation of the IMeshBuffer interface with shared vertex list.
• struct SSkinMeshBuffer
A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime.
• struct SViewFrustum
Defines the view frustum. That’s the space visible by the camera.
Namespaces
• namespace quake3
Typedefs
• typedef IParticleEmitter IParticlePointEmitter
• typedef CMeshBuffer< video::S3DVertex > SMeshBuffer
Standard meshbuffer.
Enumerations
• enum E_ANIMATED_MESH_TYPE {
EAMT_UNKNOWN = 0, EAMT_MD2, EAMT_MD3, EAMT_OBJ,
EAMT_BSP, EAMT_3DS, EAMT_MY3D, EAMT_LMTS,
EAMT_CSM, EAMT_OCT, EAMT_SKINNED }
Possible types of (animated) meshes.
• enum E_DEBUG_SCENE_TYPE {
EDS_OFF = 0, EDS_BBOX = 1, EDS_NORMALS = 2, EDS_SKELETON = 4,
EDS_MESH_WIRE_OVERLAY = 8, EDS_HALF_TRANSPARENCY = 16, EDS_BBOX_-
BUFFERS = 32, EDS_FULL = 0xffffffff }
An enumeration for all types of debug data for built-in scene nodes (flags).
• enum E_PARTICLE_AFFECTOR_TYPE {
EPAT_NONE = 0, EPAT_ATTRACT, EPAT_FADE_OUT, EPAT_GRAVITY,
EPAT_ROTATE, EPAT_COUNT }
Types of built in particle affectors.
• enum E_PARTICLE_EMITTER_TYPE {
EPET_POINT = 0, EPET_ANIMATED_MESH, EPET_BOX, EPET_CYLINDER,
EPET_MESH, EPET_RING, EPET_SPHERE, EPET_COUNT }
Types of built in particle emitters.
• enum E_PRIMITIVE_TYPE {
EPT_POINTS = 0, EPT_LINE_STRIP, EPT_LINE_LOOP, EPT_LINES,
EPT_TRIANGLE_STRIP, EPT_TRIANGLE_FAN, EPT_TRIANGLES, EPT_QUAD_STRIP,
EPT_QUADS, EPT_POLYGON, EPT_POINT_SPRITES }
Enumeration for all primitive types there are.
• enum E_SCENE_NODE_RENDER_PASS {
ESNRP_CAMERA, ESNRP_LIGHT, ESNRP_SKY_BOX, ESNRP_AUTOMATIC,
ESNRP_SOLID, ESNRP_SHADOW, ESNRP_TRANSPARENT, ESNRP_SHADER_0,
ESNRP_SHADER_1, ESNRP_SHADER_2, ESNRP_SHADER_3, ESNRP_SHADER_4,
ESNRP_SHADER_5, ESNRP_SHADER_6, ESNRP_SHADER_7, ESNRP_SHADER_8,
ESNRP_SHADER_9, ESNRP_SHADER_10, ESNRP_COUNT }
Enumeration for render passes.
• enum E_TERRAIN_PATCH_SIZE {
ETPS_9 = 9, ETPS_17 = 17, ETPS_33 = 33, ETPS_65 = 65,
ETPS_129 = 129 }
enumeration for patch sizes specifying the size of patches in the TerrainSceneNode
• enum EMD2_ANIMATION_TYPE {
EMAT_STAND = 0, EMAT_RUN, EMAT_ATTACK, EMAT_PAIN_A,
EMAT_PAIN_B, EMAT_PAIN_C, EMAT_JUMP, EMAT_FLIP,
EMAT_SALUTE, EMAT_FALLBACK, EMAT_WAVE, EMAT_POINT,
EMAT_CROUCH_STAND, EMAT_CROUCH_WALK, EMAT_CROUCH_ATTACK, EMAT_-
CROUCH_PAIN,
EMAT_CROUCH_DEATH, EMAT_DEATH_FALLBACK, EMAT_DEATH_FALLFORWARD,
EMAT_DEATH_FALLBACKSLOW,
EMAT_BOOM, EMAT_COUNT }
Types of standard md2 animations.
• enum EMD3_ANIMATION_TYPE {
EMD3_BOTH_DEATH_1 = 0, EMD3_BOTH_DEAD_1, EMD3_BOTH_DEATH_2, EMD3_-
BOTH_DEAD_2,
EMD3_BOTH_DEATH_3, EMD3_BOTH_DEAD_3, EMD3_TORSO_GESTURE, EMD3_-
TORSO_ATTACK_1,
EMD3_TORSO_ATTACK_2, EMD3_TORSO_DROP, EMD3_TORSO_RAISE, EMD3_TORSO_-
STAND_1,
EMD3_TORSO_STAND_2, EMD3_LEGS_WALK_CROUCH, EMD3_LEGS_WALK, EMD3_-
LEGS_RUN,
EMD3_LEGS_BACK, EMD3_LEGS_SWIM, EMD3_LEGS_JUMP_1, EMD3_LEGS_LAND_1,
EMD3_LEGS_JUMP_2, EMD3_LEGS_LAND_2, EMD3_LEGS_IDLE, EMD3_LEGS_IDLE_-
CROUCH,
EMD3_LEGS_TURN, EMD3_ANIMATION_COUNT }
Animation list.
• enum eMD3Models {
EMD3_HEAD = 0, EMD3_UPPER, EMD3_LOWER, EMD3_WEAPON,
EMD3_NUMMODELS }
• enum EMESH_WRITER_TYPE { EMWT_IRR_MESH = MAKE_IRR_ID(’i’,’r’,’r’,’m’), EMWT_-
COLLADA = MAKE_IRR_ID(’c’,’o’,’l’,’l’), EMWT_STL = MAKE_IRR_ID(’s’,’t’,’l’,0) }
An enumeration for all supported types of built-in mesh writers.
• enum ESCENE_NODE_ANIMATOR_TYPE {
ESNAT_FLY_CIRCLE = 0, ESNAT_FLY_STRAIGHT, ESNAT_FOLLOW_SPLINE, ESNAT_-
ROTATION,
ESNAT_TEXTURE, ESNAT_DELETION, ESNAT_COLLISION_RESPONSE, ESNAT_COUNT,
ESNAT_UNKNOWN, ESNAT_FORCE_32_BIT = 0x7fffffff }
An enumeration for all types of built-in scene node animators.
• enum ESCENE_NODE_TYPE {
ESNT_CUBE = MAKE_IRR_ID(’c’,’u’,’b’,’e’), ESNT_SPHERE = MAKE_IRR_ID(’s’,’p’,’h’,’r’),
ESNT_TEXT = MAKE_IRR_ID(’t’,’e’,’x’,’t’), ESNT_WATER_SURFACE = MAKE_IRR_-
ID(’w’,’a’,’t’,’r’),
ESNT_TERRAIN = MAKE_IRR_ID(’t’,’e’,’r’,’r’), ESNT_SKY_BOX = MAKE_IRR_-
ID(’s’,’k’,’y’,’_’), ESNT_SHADOW_VOLUME = MAKE_IRR_ID(’s’,’h’,’d’,’w’), ESNT_-
OCT_TREE = MAKE_IRR_ID(’o’,’c’,’t’,’t’),
ESNT_MESH = MAKE_IRR_ID(’m’,’e’,’s’,’h’), ESNT_LIGHT = MAKE_IRR_ID(’l’,’g’,’h’,’t’),
ESNT_EMPTY = MAKE_IRR_ID(’e’,’m’,’t’,’y’), ESNT_DUMMY_TRANSFORMATION =
MAKE_IRR_ID(’d’,’m’,’m’,’y’),
ESNT_CAMERA = MAKE_IRR_ID(’c’,’a’,’m’,’_’), ESNT_CAMERA_MAYA = MAKE_-
IRR_ID(’c’,’a’,’m’,’M’), ESNT_CAMERA_FPS = MAKE_IRR_ID(’c’,’a’,’m’,’F’), ESNT_-
BILLBOARD = MAKE_IRR_ID(’b’,’i’,’l’,’l’),
ESNT_ANIMATED_MESH = MAKE_IRR_ID(’a’,’m’,’s’,’h’), ESNT_PARTICLE_SYSTEM =
MAKE_IRR_ID(’p’,’t’,’c’,’l’), ESNT_MD3_SCENE_NODE = MAKE_IRR_ID(’m’,’d’,’3’,’_’),
ESNT_UNKNOWN = MAKE_IRR_ID(’u’,’n’,’k’,’n’) }
An enumeration for all types of built-in scene nodes.
Variables
• const c8 ∗const AutomaticCullingNames [ ]
Names for culling type.
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees and
billboards, ...
Standard meshbuffer.
Definition at line 200 of file CMeshBuffer.h.
Meshbuffer with two texture coords per vertex, e.g. for lightmaps.
Definition at line 202 of file CMeshBuffer.h.
Meshbuffer with vertices having tangents stored, e.g. for normal mapping.
Definition at line 204 of file CMeshBuffer.h.
Enumeration values:
EAMT_UNKNOWN Unknown animated mesh type.
EAMT_MD2 Quake 2 MD2 model file.
EAMT_MD3 Quake 3 MD3 model file.
EAMT_OBJ Maya .obj static model.
EAMT_BSP Quake 3 .bsp static Map.
EAMT_3DS 3D Studio .3ds file
EAMT_MY3D My3D Mesh, the file format by Zhuck Dimitry.
EAMT_LMTS Pulsar LMTools .lmts file. This Irrlicht loader was written by Jonas Petersen.
EAMT_CSM Cartography Shop .csm file. This loader was created by Saurav Mohapatra.
EAMT_OCT .oct file for Paul Nette’s FSRad or from Murphy McCauley’s Blender .oct exporter.
The oct file format contains 3D geometry and lightmaps and can be loaded directly by Irrlicht
EAMT_SKINNED generic skinned mesh
Enumeration values:
EBAM_AUTOMATIC The bone is usually animated, unless it’s parent is not animated.
EBAM_ANIMATED The bone is animated by the skin, if it’s parent is not animated then animation
will resume from this bone onward.
EBAM_UNANIMATED The bone is not animated by the skin.
EBAM_COUNT Not an animation mode, just here to count the available modes.
Enumeration values:
EBSS_LOCAL local skinning, standard
EBSS_GLOBAL global skinning
EBSS_COUNT
An enumeration for all types of automatic culling for built-in scene nodes.
Enumeration values:
EAC_OFF
EAC_BOX
EAC_FRUSTUM_BOX
EAC_FRUSTUM_SPHERE
An enumeration for all types of debug data for built-in scene nodes (flags).
Enumeration values:
EDS_OFF No Debug Data ( Default ).
EDS_BBOX Show Bounding Boxes of SceneNode.
EDS_NORMALS Show Vertex Normals.
EDS_SKELETON Shows Skeleton/Tags.
EDS_MESH_WIRE_OVERLAY Overlays Mesh Wireframe.
EDS_HALF_TRANSPARENCY Temporary use transparency Material Type.
EDS_BBOX_BUFFERS Show Bounding Boxes of all MeshBuffers.
EDS_FULL Show all debug infos.
Enumeration values:
EIM_CONSTANT
EIM_LINEAR
EIM_COUNT count of all available interpolation modes
Enumeration values:
EJUOR_NONE do nothing
EJUOR_READ get joints positions from the mesh (for attached nodes, etc)
EJUOR_CONTROL control joint positions in the mesh (eg. ragdolls, or set the animation from
animateJoints() )
EJUOR_COUNT count of all available interpolation modes
Enumeration values:
EMWF_NONE no writer flags
EMWF_WRITE_LIGHTMAPS write lightmap textures out if possible
EMWF_WRITE_COMPRESSED write in a way that does consume less disk space
Enumeration values:
EPAT_NONE
EPAT_ATTRACT
EPAT_FADE_OUT
EPAT_GRAVITY
EPAT_ROTATE
EPAT_COUNT
Enumeration values:
EPET_POINT
EPET_ANIMATED_MESH
EPET_BOX
EPET_CYLINDER
EPET_MESH
EPET_RING
EPET_SPHERE
EPET_COUNT
Enumeration values:
EPT_POINTS All vertices are non-connected points.
EPT_LINE_STRIP All vertices form a single connected line.
EPT_LINE_LOOP Just as LINE_STRIP, but the last and the first vertex is also connected.
EPT_LINES Every two vertices are connected creating n/2 lines.
EPT_TRIANGLE_STRIP After the first two vertices each vertex defines a new triangle. Always
the two last and the new one form a new triangle.
EPT_TRIANGLE_FAN After the first two vertices each vertex defines a new triangle. All around
the common first vertex.
EPT_TRIANGLES Explicitly set all vertices for each triangle.
EPT_QUAD_STRIP After the first two vertices each further tw vetices create a quad with the pre-
ceding two.
EPT_QUADS Every four vertices create a quad.
EPT_POLYGON Just as LINE_LOOP, but filled.
EPT_POINT_SPRITES The single vertices are expanded to quad billboards on the GPU.
Enumeration values:
ESNRP_CAMERA Camera pass. The active view is set up here. The very first pass.
ESNRP_LIGHT In this pass, lights are transformed into camera space and added to the driver.
ESNRP_SKY_BOX This is used for sky boxes.
ESNRP_AUTOMATIC All normal objects can use this for registering themselves.
This value will never be returned by ISceneManager::getSceneNodeRenderPass(). The scene
manager will determine by itself if an object is transparent or solid and register the object as
SNRT_TRANSPARENT or SNRT_SOLD automatically if you call registerNodeForRendering
with this value (which is default). Note that it will register the node only as ONE type. If your
scene node has both solid and transparent material types register it twice (one time as SNRT_-
SOLID, the other time as SNRT_TRANSPARENT) and in the render() method call getScene-
NodeRenderPass() to find out the current render pass and render only the corresponding parts of
the node.
ESNRP_SOLID Solid scene nodes or special scene nodes without materials.
ESNRP_SHADOW Drawn after the transparent nodes, the time for drawing shadow volumes.
ESNRP_TRANSPARENT Transparent scene nodes, drawn after shadow nodes. They are sorted
from back to front and drawn in that order.
ESNRP_SHADER_0 Scene Nodes with special support.
ESNRP_SHADER_1
ESNRP_SHADER_2
ESNRP_SHADER_3
ESNRP_SHADER_4
ESNRP_SHADER_5
ESNRP_SHADER_6
ESNRP_SHADER_7
ESNRP_SHADER_8
ESNRP_SHADER_9
ESNRP_SHADER_10
ESNRP_COUNT Never used, value specifing how much parameters there are.
enumeration for patch sizes specifying the size of patches in the TerrainSceneNode
Enumeration values:
ETPS_9 patch size of 9, at most, use 4 levels of detail with this patch size.
ETPS_17 patch size of 17, at most, use 5 levels of detail with this patch size.
ETPS_33 patch size of 33, at most, use 6 levels of detail with this patch size.
ETPS_65 patch size of 65, at most, use 7 levels of detail with this patch size.
ETPS_129 patch size of 129, at most, use 8 levels of detail with this patch size.
Enumeration values:
EMAT_STAND
EMAT_RUN
EMAT_ATTACK
EMAT_PAIN_A
EMAT_PAIN_B
EMAT_PAIN_C
EMAT_JUMP
EMAT_FLIP
EMAT_SALUTE
EMAT_FALLBACK
EMAT_WAVE
EMAT_POINT
EMAT_CROUCH_STAND
EMAT_CROUCH_WALK
EMAT_CROUCH_ATTACK
EMAT_CROUCH_PAIN
EMAT_CROUCH_DEATH
EMAT_DEATH_FALLBACK
EMAT_DEATH_FALLFORWARD
EMAT_DEATH_FALLBACKSLOW
EMAT_BOOM
EMAT_COUNT Not an animation, but amount of animation types.
Animation list.
Enumeration values:
EMD3_BOTH_DEATH_1
EMD3_BOTH_DEAD_1
EMD3_BOTH_DEATH_2
EMD3_BOTH_DEAD_2
EMD3_BOTH_DEATH_3
EMD3_BOTH_DEAD_3
EMD3_TORSO_GESTURE
EMD3_TORSO_ATTACK_1
EMD3_TORSO_ATTACK_2
EMD3_TORSO_DROP
EMD3_TORSO_RAISE
EMD3_TORSO_STAND_1
EMD3_TORSO_STAND_2
EMD3_LEGS_WALK_CROUCH
EMD3_LEGS_WALK
EMD3_LEGS_RUN
EMD3_LEGS_BACK
EMD3_LEGS_SWIM
EMD3_LEGS_JUMP_1
EMD3_LEGS_LAND_1
EMD3_LEGS_JUMP_2
EMD3_LEGS_LAND_2
EMD3_LEGS_IDLE
EMD3_LEGS_IDLE_CROUCH
EMD3_LEGS_TURN
EMD3_ANIMATION_COUNT Not an animation, but amount of animation types.
Enumeration values:
EMD3_HEAD
EMD3_UPPER
EMD3_LOWER
EMD3_WEAPON
EMD3_NUMMODELS
Enumeration values:
EMWT_IRR_MESH Irrlicht Native mesh writer, for static .irrmesh files.
EMWT_COLLADA COLLADA mesh writer for .dae and .xml files.
EMWT_STL STL mesh writer for .stl files.
Enumeration values:
ESNAT_FLY_CIRCLE Fly circle scene node animator.
ESNAT_FLY_STRAIGHT Fly straight scene node animator.
ESNAT_FOLLOW_SPLINE Follow spline scene node animator.
ESNAT_ROTATION Rotation scene node animator.
ESNAT_TEXTURE Texture scene node animator.
ESNAT_DELETION Deletion scene node animator.
ESNAT_COLLISION_RESPONSE Collision respose scene node animator.
ESNAT_COUNT Amount of built-in scene node animators.
ESNAT_UNKNOWN Unknown scene node animator.
ESNAT_FORCE_32_BIT This enum is never used, it only forces the compiler to compile these
enumeration values to 32 bit.
Enumeration values:
ESNT_CUBE simple cube scene node
ESNT_SPHERE Sphere scene node.
ESNT_TEXT Text Scene Node.
ESNT_WATER_SURFACE Water Surface Scene Node.
ESNT_TERRAIN Terrain Scene Node.
ESNT_SKY_BOX Sky Box Scene Node.
ESNT_SHADOW_VOLUME Shadow Volume Scene Node.
ESNT_OCT_TREE OctTree Scene Node.
ESNT_MESH Mesh Scene Node.
ESNT_LIGHT Light Scene Node.
ESNT_EMPTY Empty Scene Node.
ESNT_DUMMY_TRANSFORMATION Dummy Transformation Scene Node.
ESNT_CAMERA Camera Scene Node.
ESNT_CAMERA_MAYA Maya Camera Scene Node.
ESNT_CAMERA_FPS First Person Shooter style Camera.
ESNT_BILLBOARD Billboard Scene Node.
ESNT_ANIMATED_MESH Animated Mesh Scene Node.
ESNT_PARTICLE_SYSTEM Particle System Scene Node.
ESNT_MD3_SCENE_NODE Quake3 Model Scene Node ( has tag to link to ).
ESNT_UNKNOWN Unknown scene node.
Initial value:
{
"false",
"box",
"frustum_box",
"frustum_sphere",
0
}
Initial value:
{
"automatic",
"animated",
"unanimated",
0,
}
SceneManager->getParameters()->setAttribute(scene::COLLADA_CREATE_SCENE_INSTANCES, true);
Name of the parameter for changing the texture path of the built-in csm loader.
Use it like this:
SceneManager->getParameters()->setAttribute(scene::CSM_TEXTURE_PATH, "path/to/your/textures");
Name of the parameter for setting reference value of alpha in transparent materials.
Use it like this:
Name of the parameter for changing the texture path of the built-in DMF loader.
Use it like this:
SceneManager->getStringParameters()->setAttribute(scene::DMF_TEXTURE_PATH, "path/to/your/textures"
Name of the parameter for preserving DMF textures dir structure with built-in DMF loader.
Use it like this:
Name of the parameter for changing the texture path of the built-in lmts loader.
Use it like this:
SceneManager->getParameters()->setAttribute(scene::LMTS_TEXTURE_PATH, "path/to/your/textures");
Name of the parameter for changing the texture path of the built-in my3d loader.
Use it like this:
SceneManager->getParameters()->setAttribute(scene::MY3D_TEXTURE_PATH, "path/to/your/textures");
Initial value:
{
"None",
"Attract",
"FadeOut",
"Gravity",
"Rotate",
0
}
Initial value:
{
"Point",
"AnimatedMesh",
"Box",
"Cylinder",
"Mesh",
"Ring",
"Sphere",
0
}
Classes
• class IShaderManager
Manages various Quake3 Shader Styles.
• struct SBlendFunc
A blend function for a q3 shader.
• struct SModifierFunction
• class SShader
A Parsed Shader Holding Variables ordered in Groups.
• struct SVarGroup
• struct SVarGroupList
• struct SVariable
Typedefs
• typedef SShader SEntity
• typedef core::array< SEntity > tQ3EntityList
• typedef core::array< core::stringc > tStringList
• typedef core::array< video::ITexture ∗ > tTexArray
Enumerations
• enum eQ3MeshIndex { E_Q3_MESH_GEOMETRY = 0, E_Q3_MESH_ITEMS, E_Q3_MESH_-
BILLBOARD, E_Q3_MESH_SIZE }
Hold the different Mesh Types used for getMesh.
Functions
• core::stringc & dumpShader (core::stringc &dest, const SShader ∗shader)
• void dumpVarGroup (core::stringc &dest, const SVarGroup ∗group, s32 stack)
• f32 getAsFloat (const core::stringc &string, u32 &pos)
• void getAsStringList (tStringList &list, s32 max, const core::stringc &string, u32 &startPos)
• core::vector3df getAsVector3df (const core::stringc &string, u32 &pos)
• bool getBackfaceCulling (const core::stringc &string)
• u32 getDepthFunction (const core::stringc &string)
• void getModifierFunc (SModifierFunction &fill, const core::stringc &string, u32 &pos)
• void getTextures (tTexArray &textures, const core::stringc &name, u32 &startPos, io::IFileSystem
∗fileSystem, video::IVideoDriver ∗driver)
• s32 isEqual (const core::stringc &string, u32 &pos, const c8 ∗list[ ], u32 listSize)
Variables
• const video::E_MATERIAL_TYPE defaultLightMap = video::EMT_LIGHTMAP_M2
• const video::E_MODULATE_FUNC defaultModulate = video::EMFN_MODULATE_2X
Enumeration values:
E_Q3_MESH_GEOMETRY
E_Q3_MESH_ITEMS
E_Q3_MESH_BILLBOARD
E_Q3_MESH_SIZE
6.6.3.1 core::stringc& dumpShader (core::stringc & dest, const SShader ∗ shader) [inline]
6.6.3.2 void dumpVarGroup (core::stringc & dest, const SVarGroup ∗ group, s32 stack)
[inline]
6.6.3.3 f32 getAsFloat (const core::stringc & string, u32 & pos) [inline]
6.6.3.4 void getAsStringList (tStringList & list, s32 max, const core::stringc & string, u32 &
startPos) [inline]
6.6.3.5 core::vector3df getAsVector3df (const core::stringc & string, u32 & pos) [inline]
6.6.3.8 void getModifierFunc (SModifierFunction & fill, const core::stringc & string, u32 & pos)
[inline]
6.6.3.9 void getTextures (tTexArray & textures, const core::stringc & name, u32 & startPos,
io::IFileSystem ∗ fileSystem, video::IVideoDriver ∗ driver) [inline]
6.6.3.10 s32 isEqual (const core::stringc & string, u32 & pos, const c8 ∗ list[ ], u32 listSize)
[inline]
Classes
• class IGPUProgrammingServices
Interface making it possible to create and use programs running on the GPU.
• class IImage
Interface for software image data.
• class IImageLoader
Class which is able to create a image from a file.
• class IImageWriter
Interface for writing software image data.
• class IMaterialRenderer
Interface for material rendering.
• class IMaterialRendererServices
Interface providing some methods for changing advanced, internal states of a IVideoDriver.
• class IShaderConstantSetCallBack
Interface making it possible to set constants for gpu programs every frame.
• class ITexture
Interface of a Video Driver dependent Texture.
• class IVideoDriver
Interface to driver which is able to perform 2d and 3d graphics functions.
• class IVideoModeList
A list of all available video modes.
• struct S3DVertex
standard vertex used by the Irrlicht engine.
• struct S3DVertex2TCoords
Vertex with two texture coordinates.
• struct S3DVertexTangents
Vertex with a tangent and binormal vector.
• class SColor
Class representing a 32 bit ARGB color.
• class SColorf
• class SColorHSL
Class representing a color in HSV format.
• struct SExposedVideoData
structure for holding data describing a driver and operating system specific data.
• struct SLight
structure for holding data describing a dynamic point light.
• class SMaterial
Struct for holding parameters for a material renderer.
• class SMaterialLayer
Struct for holding material parameters which exist per texture layer.
Enumerations
• enum E_BLEND_FACTOR {
EBF_ZERO = 0, EBF_ONE, EBF_DST_COLOR, EBF_ONE_MINUS_DST_COLOR,
EBF_SRC_COLOR, EBF_ONE_MINUS_SRC_COLOR, EBF_SRC_ALPHA, EBF_ONE_-
MINUS_SRC_ALPHA,
EBF_DST_ALPHA, EBF_ONE_MINUS_DST_ALPHA, EBF_SRC_ALPHA_SATURATE }
Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source ∗ sourceFactor + dest ∗ dest-
Factor.
• enum E_DRIVER_TYPE {
EDT_NULL, EDT_SOFTWARE, EDT_BURNINGSVIDEO, EDT_DIRECT3D8,
EDT_DIRECT3D9, EDT_OPENGL }
An enum for all types of drivers the Irrlicht Engine supports.
• enum E_MATERIAL_FLAG {
EMF_WIREFRAME = 0, EMF_POINTCLOUD, EMF_GOURAUD_SHADING, EMF_-
LIGHTING,
EMF_ZBUFFER, EMF_ZWRITE_ENABLE, EMF_BACK_FACE_CULLING, EMF_-
BILINEAR_FILTER,
EMF_TRILINEAR_FILTER, EMF_ANISOTROPIC_FILTER, EMF_FOG_ENABLE, EMF_-
NORMALIZE_NORMALS,
EMF_TEXTURE_WRAP, EMF_MATERIAL_FLAG_COUNT }
Material flags.
• enum E_MATERIAL_TYPE {
EMT_SOLID = 0, EMT_SOLID_2_LAYER, EMT_LIGHTMAP, EMT_LIGHTMAP_ADD,
EMT_LIGHTMAP_M2, EMT_LIGHTMAP_M4, EMT_LIGHTMAP_LIGHTING, EMT_-
LIGHTMAP_LIGHTING_M2,
EMT_LIGHTMAP_LIGHTING_M4, EMT_DETAIL_MAP, EMT_SPHERE_MAP, EMT_-
REFLECTION_2_LAYER,
EMT_TRANSPARENT_ADD_COLOR, EMT_TRANSPARENT_ALPHA_CHANNEL, EMT_-
TRANSPARENT_ALPHA_CHANNEL_REF, EMT_TRANSPARENT_VERTEX_ALPHA,
EMT_TRANSPARENT_REFLECTION_2_LAYER, EMT_NORMAL_MAP_SOLID, EMT_-
NORMAL_MAP_TRANSPARENT_ADD_COLOR, EMT_NORMAL_MAP_TRANSPARENT_-
VERTEX_ALPHA,
EMT_PARALLAX_MAP_SOLID, EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR,
EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA, EMT_ONETEXTURE_-
BLEND,
EMT_FORCE_32BIT = 0x7fffffff }
Abstracted and easy to use fixed function/programmable pipeline material modes.
• enum E_PIXEL_SHADER_TYPE {
EPST_PS_1_1 = 0, EPST_PS_1_2, EPST_PS_1_3, EPST_PS_1_4,
EPST_PS_2_0, EPST_PS_2_a, EPST_PS_2_b, EPST_PS_3_0,
EPST_COUNT }
Compile target enumeration for the addHighLevelShaderMaterial() method.
• enum E_TEXTURE_CLAMP {
ETC_REPEAT = 0, ETC_CLAMP, ETC_CLAMP_TO_EDGE, ETC_CLAMP_TO_BORDER,
ETC_MIRROR }
Texture coord clamp mode outside [0.0, 1.0].
• enum E_TEXTURE_CREATION_FLAG {
ETCF_ALWAYS_16_BIT = 0x00000001, ETCF_ALWAYS_32_BIT = 0x00000002, ETCF_-
OPTIMIZED_FOR_QUALITY = 0x00000004, ETCF_OPTIMIZED_FOR_SPEED = 0x00000008,
ETCF_CREATE_MIP_MAPS = 0x00000010, ETCF_NO_ALPHA_CHANNEL = 0x00000020,
ETCF_FORCE_32_BIT_DO_NOT_USE = 0x7fffffff }
• enum E_TRANSFORMATION_STATE {
ETS_VIEW = 0, ETS_WORLD, ETS_PROJECTION, ETS_TEXTURE_0,
ETS_TEXTURE_1, ETS_TEXTURE_2, ETS_TEXTURE_3, ETS_COUNT }
enumeration for geometry transformation states
• enum E_VERTEX_SHADER_TYPE {
EVST_VS_1_1 = 0, EVST_VS_2_0, EVST_VS_2_a, EVST_VS_3_0,
EVST_COUNT }
• enum E_VIDEO_DRIVER_FEATURE {
EVDF_RENDER_TO_TARGET = 0, EVDF_HARDWARE_TL, EVDF_MULTITEXTURE,
EVDF_BILINEAR_FILTER,
EVDF_MIP_MAP, EVDF_MIP_MAP_AUTO_UPDATE, EVDF_STENCIL_BUFFER, EVDF_-
VERTEX_SHADER_1_1,
EVDF_VERTEX_SHADER_2_0, EVDF_VERTEX_SHADER_3_0, EVDF_PIXEL_SHADER_-
1_1, EVDF_PIXEL_SHADER_1_2,
EVDF_PIXEL_SHADER_1_3, EVDF_PIXEL_SHADER_1_4, EVDF_PIXEL_SHADER_2_0,
EVDF_PIXEL_SHADER_3_0,
EVDF_ARB_VERTEX_PROGRAM_1, EVDF_ARB_FRAGMENT_PROGRAM_1, EVDF_-
ARB_GLSL, EVDF_HLSL,
EVDF_TEXTURE_NPOT, EVDF_FRAMEBUFFER_OBJECT }
enumeration for querying features of the video driver.
Functions
• u32 A1R5G5B5toA8R8G8B8 (u16 color)
Convert A8R8G8B8 Color from A1R5G5B5 color.
Variables
• const c8 ∗const LightTypeNames [ ]
Names for light types.
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here.
Enumeration values:
EBF_ZERO src & dest (0, 0, 0, 0)
EBF_ONE src & dest (1, 1, 1, 1)
EBF_DST_COLOR src (destR, destG, destB, destA)
EBF_ONE_MINUS_DST_COLOR src (1-destR, 1-destG, 1-destB, 1-destA)
EBF_SRC_COLOR dest (srcR, srcG, srcB, srcA)
EBF_ONE_MINUS_SRC_COLOR dest (1-srcR, 1-srcG, 1-srcB, 1-srcA)
EBF_SRC_ALPHA src & dest (srcA, srcA, srcA, srcA)
EBF_ONE_MINUS_SRC_ALPHA src & dest (1-srcA, 1-srcA, 1-srcA, 1-srcA)
EBF_DST_ALPHA src & dest (destA, destA, destA, destA)
EBF_ONE_MINUS_DST_ALPHA src & dest (1-destA, 1-destA, 1-destA, 1-destA)
EBF_SRC_ALPHA_SATURATE src (min(srcA, 1-destA), idem, ...)
Enumeration values:
EDT_NULL Null driver, useful for applications to run the engine without visualisation. The null
device is able to load textures, but does not render and display any graphics.
EDT_SOFTWARE The Irrlicht Engine Software renderer, runs on all platforms, with every hard-
ware. It should only be used for 2d graphics, but it can also perform some primitive 3d functions.
These 3d drawing functions are quite fast, but very inaccurate, and don’t even support clipping
in 3D mode.
EDT_BURNINGSVIDEO The Burning’s Software Renderer, an alternative software renderer for
Irrlicht. Basically it can be described as the Irrlicht Software renderer on steroids. It rasterizes 3D
geometry perfectly: It is able to perform correct 3d clipping, perspective correct texture mapping,
perspective correct color mapping, and renders sub pixel correct, sub texel correct primitives. In
addition, it does bilinear texel filtering and supports more materials than the EDT_SOFTWARE
driver. This renderer has been written entirely by Thomas Alten, thanks a lot for this huge
contribution.
EDT_DIRECT3D8 Direct3D8 device, only available on Win32 platforms. Performs hardware ac-
celerated rendering of 3D and 2D primitives.
EDT_DIRECT3D9 Direct3D 9 device, only available on Win32 platforms. Performs hardware ac-
celerated rendering of 3D and 2D primitives.
EDT_OPENGL OpenGL device, available on most platforms. Performs hardware accelerated ren-
dering of 3D and 2D primitives.
Enumeration values:
ELT_POINT point light, it has a position in space and radiates light in all directions
ELT_SPOT spot light, it has a position in space, a direction, and a limited cone of influence
ELT_DIRECTIONAL directional light, coming from a direction from an infinite distance
Material flags.
Enumeration values:
EMF_WIREFRAME Draw as wireframe or filled triangles? Default: false.
EMF_POINTCLOUD Draw as point cloud or filled triangles? Default: false.
EMF_GOURAUD_SHADING Flat or Gouraud shading? Default: true.
EMF_LIGHTING Will this material be lighted? Default: true.
EMF_ZBUFFER Is the ZBuffer enabled? Default: true.
EMF_ZWRITE_ENABLE May be written to the zbuffer or is it readonly. Default: true This flag is
ignored, if the material type is a transparent type.
EMF_BACK_FACE_CULLING Is backfaceculling enabled? Default: true.
EMF_BILINEAR_FILTER Is bilinear filtering enabled? Default: true.
EMF_TRILINEAR_FILTER Is trilinear filtering enabled? Default: false If the trilinear filter flag
is enabled, the bilinear filtering flag is ignored.
Enumeration values:
EMT_SOLID Standard solid material. Only first texture is used, which is supposed to be the diffuse
material.
EMT_SOLID_2_LAYER Solid material with 2 texture layers. The second is blended onto the first
using the alpha value of the vertex colors. This material is currently not implemented in OpenGL.
EMT_LIGHTMAP Material type with standard lightmap technique: There should be 2 textures:
The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
EMT_LIGHTMAP_ADD Material type with lightmap technique like EMT_LIGHTMAP. But
lightmap and diffuse texture are added instead of modulated.
EMT_LIGHTMAP_M2 Material type with standard lightmap technique: There should be 2 tex-
tures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
The texture colors are effectively multiplied by 2 for brightening. Like known in DirectX as
D3DTOP_MODULATE2X.
EMT_LIGHTMAP_M4 Material type with standard lightmap technique: There should be 2 tex-
tures: The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
The texture colors are effectively multiplyied by 4 for brightening. Like known in DirectX as
D3DTOP_MODULATE4X.
EMT_LIGHTMAP_LIGHTING Like EMT_LIGHTMAP, but also supports dynamic lighting.
EMT_LIGHTMAP_LIGHTING_M2 Like EMT_LIGHTMAP_M2, but also supports dynamic
lighting.
EMT_LIGHTMAP_LIGHTING_M4 Like EMT_LIGHTMAP_4, but also supports dynamic light-
ing.
EMT_DETAIL_MAP Detail mapped material. The first texture is diffuse color map, the second is
added to this and usually displayed with a bigger scale value so that it adds more detail. The
detail map is added to the diffuse map using ADD_SIGNED, so that it is possible to add and
substract color from the diffuse map. For example a value of (127,127,127) will not change the
appearance of the diffuse map at all. Often used for terrain rendering.
EMT_SPHERE_MAP Makes the material look like it was reflection the environment around it. To
make this possible, a texture called ’sphere map’ is used, which must be set as the first texture.
vertex shader 1.1 and pixel shader 1.1 capable hardware and falls back to a fixed function lighted
material if this hardware is not available. Only two lights are supported by this shader, if there
are more, the nearest two are chosen.
EMT_PARALLAX_MAP_SOLID Just like EMT_NORMAL_MAP_SOLID, but uses parallax map-
ping too, which looks a lot more realistic. This only works when the hardware supports at least
vertex shader 1.1 and pixel shader 1.4. First texture is the color map, the second should be
the normal map. The normal map texture should contain the height value in the alpha com-
ponent. The IVideoDriver::makeNormalMapTexture() method writes this value automatically
when creating normal maps from a heightmap when using a 32 bit texture. The height scale of
the material (affecting the bumpiness) is being controlled by the SMaterial::MaterialTypeParam
member. If set to zero, the default value (0.02f) will be applied. Otherwise the value set in
SMaterial::MaterialTypeParam is taken. This value depends on with which scale the texture is
mapped on the material. Too high or low values of MaterialTypeParam can result in strange
artifacts.
EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR A material just like EMT_-
PARALLAX_MAP_SOLID, but it is transparent, using EMT_TRANSPARENT_ADD_COLOR
as base material.
EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA A material just like EMT_-
PARALLAX_MAP_SOLID, but it is transparent, using EMT_TRANSPARENT_VERTEX_-
ALPHA as base material.
EMT_ONETEXTURE_BLEND BlendFunc = source ∗ sourceFactor + dest ∗ destFactor ( E_-
BLEND_FUNC ) Using only first texture. Generic blending method.
EMT_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.
Enumeration values:
EMFN_MODULATE_1X
EMFN_MODULATE_2X
EMFN_MODULATE_4X
Enumeration values:
EPST_PS_1_1
EPST_PS_1_2
EPST_PS_1_3
EPST_PS_1_4
EPST_PS_2_0
EPST_PS_2_a
EPST_PS_2_b
EPST_PS_3_0
EPST_COUNT This is not a type, but a value indicating how much types there are.
Enumeration values:
ETC_REPEAT Texture repeats.
ETC_CLAMP Texture is clamped to the last pixel.
ETC_CLAMP_TO_EDGE Texture is clamped to the edge pixel.
ETC_CLAMP_TO_BORDER Texture is clamped to the border pixel (if exists).
ETC_MIRROR Texture is alternatingly mirrored (0..1..0..1..0..).
Enumeration flags telling the video driver in which format textures should be created.
Enumeration values:
ETCF_ALWAYS_16_BIT Forces the driver to create 16 bit textures always, independent of which
format the file on disk has. When choosing this you may loose some color detail, but gain
much speed and memory. 16 bit textures can be transferred twice as fast as 32 bit textures
and only use half of the space in memory. When using this flag, it does not make sense
to use the flags ETCF_ALWAYS_32_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_-
OPTIMIZED_FOR_SPEED at the same time.
ETCF_ALWAYS_32_BIT Forces the driver to create 32 bit textures always, independent of which
format the file on disk has. Please note that some drivers (like the software device) will ignore
this, because they are only able to create and use 16 bit textures. When using this flag, it does not
make sense to use the flags ETCF_ALWAYS_16_BIT, ETCF_OPTIMIZED_FOR_QUALITY,
or ETCF_OPTIMIZED_FOR_SPEED at the same time.
ETCF_OPTIMIZED_FOR_QUALITY Lets the driver decide in which format the textures are cre-
ated and tries to make the textures look as good as possible. Usually it simply chooses the format
in which the texture was stored on disk. When using this flag, it does not make sense to use
the flags ETCF_ALWAYS_16_BIT, ETCF_ALWAYS_32_BIT, or ETCF_OPTIMIZED_FOR_-
SPEED at the same time.
ETCF_OPTIMIZED_FOR_SPEED Lets the driver decide in which format the textures are created
and tries to create them maximizing render speed. When using this flag, it does not make sense
to use the flags ETCF_ALWAYS_16_BIT, ETCF_ALWAYS_32_BIT, or ETCF_OPTIMIZED_-
FOR_QUALITY, at the same time.
ETCF_CREATE_MIP_MAPS Automatically creates mip map levels for the textures.
ETCF_NO_ALPHA_CHANNEL Discard any alpha layer and use non-alpha color format.
ETCF_FORCE_32_BIT_DO_NOT_USE This flag is never used, it only forces the compiler to
compile these enumeration values to 32 bit.
Enumeration values:
ETS_VIEW View transformation.
ETS_WORLD World transformation.
ETS_PROJECTION Projection transformation.
ETS_TEXTURE_0 Texture transformation.
ETS_TEXTURE_1 Texture transformation.
ETS_TEXTURE_2 Texture transformation.
ETS_TEXTURE_3 Texture transformation.
ETS_COUNT Not used.
Enumeration values:
EVST_VS_1_1
EVST_VS_2_0
EVST_VS_2_a
EVST_VS_3_0
EVST_COUNT This is not a type, but a value indicating how much types there are.
Enumeration values:
EVT_STANDARD Standard vertex type used by the Irrlicht engine, video::S3DVertex.
EVT_2TCOORDS Vertex with two texture coordinates, video::S3DVertex2TCoords.
Usually used for geometry with lightmaps or other special materials.
EVT_TANGENTS Vertex with a tangent and binormal vector, video::S3DVertexTangents.
Usually used for tangent space normal mapping.
Enumeration values:
EVDF_RENDER_TO_TARGET Is driver able to render to a surface?
EVDF_HARDWARE_TL Is hardeware transform and lighting supported?
EVDF_MULTITEXTURE Are multiple textures per material possible?
EVDF_BILINEAR_FILTER Is driver able to render with a bilinear filter applied?
EVDF_MIP_MAP Can the driver handle mip maps?
EVDF_MIP_MAP_AUTO_UPDATE Can the driver update mip maps automatically?
EVDF_STENCIL_BUFFER Are stencilbuffers switched on and does the device support stencil
buffers?
EVDF_VERTEX_SHADER_1_1 Is Vertex Shader 1.1 supported?
EVDF_VERTEX_SHADER_2_0 Is Vertex Shader 2.0 supported?
EVDF_VERTEX_SHADER_3_0 Is Vertex Shader 3.0 supported?
EVDF_PIXEL_SHADER_1_1 Is Pixel Shader 1.1 supported?
EVDF_PIXEL_SHADER_1_2 Is Pixel Shader 1.2 supported?
EVDF_PIXEL_SHADER_1_3 Is Pixel Shader 1.3 supported?
EVDF_PIXEL_SHADER_1_4 Is Pixel Shader 1.4 supported?
EVDF_PIXEL_SHADER_2_0 Is Pixel Shader 2.0 supported?
EVDF_PIXEL_SHADER_3_0 Is Pixel Shader 3.0 supported?
EVDF_ARB_VERTEX_PROGRAM_1 Are ARB vertex programs v1.0 supported?
EVDF_ARB_FRAGMENT_PROGRAM_1 Are ARB fragment programs v1.0 supported?
EVDF_ARB_GLSL Is GLSL supported?
EVDF_HLSL Is HLSL supported?
EVDF_TEXTURE_NPOT Are non-power-of-two textures supported?
EVDF_FRAMEBUFFER_OBJECT Are framebuffer objects supported?
An enum for the color format of textures used by the Irrlicht Engine.
A color format specifies how color information is stored.
Enumeration values:
ECF_A1R5G5B5 16 bit color format used by the software driver.
It is thus preferred by all other irrlicht engine video drivers. There are 5 bits for every color
component, and a single bit is left for alpha information.
ECF_R5G6B5 Standard 16 bit color format.
ECF_R8G8B8 24 bit color, no alpha channel, but 8 bit for red, green and blue.
ECF_A8R8G8B8 Default 32 bit color format. 8 bits are used for every component: red, green, blue
and alpha.
Helper function, helps to get the desired texture creation format from the flags. Returns either
ETCF_ALWAYS_32_BIT, ETCF_ALWAYS_16_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_-
OPTIMIZED_FOR_SPEED.
Definition at line 74 of file ITexture.h.
References ETCF_ALWAYS_16_BIT, ETCF_ALWAYS_32_BIT, ETCF_OPTIMIZED_FOR_QUALITY,
and ETCF_OPTIMIZED_FOR_SPEED.
Initial value:
{
"Point",
"Spot",
"Directional",
0
}
Initial value:
{
"ps_1_1",
"ps_1_2",
"ps_1_3",
"ps_1_4",
"ps_2_0",
"ps_2_a",
"ps_2_b",
"ps_3_0",
0 }
Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry.
Definition at line 62 of file IGPUProgrammingServices.h.
Initial value:
{
"solid",
"solid_2layer",
"lightmap",
"lightmap_add",
"lightmap_m2",
"lightmap_m4",
"lightmap_light",
"lightmap_light_m2",
"lightmap_light_m4",
"detail_map",
"sphere_map",
"reflection_2layer",
"trans_add",
"trans_alphach",
"trans_alphach_ref",
"trans_vertex_alpha",
"trans_reflection_2layer",
"normalmap_solid",
"normalmap_trans_add",
"normalmap_trans_vertexalpha",
"parallaxmap_solid",
"parallaxmap_trans_add",
"parallaxmap_trans_vertexalpha",
"onetexture_blend",
0
}
Initial value:
{
"standard",
"2tcoords",
"tangents",
0
}
Initial value:
{
"vs_1_1",
"vs_2_0",
"vs_2_a",
"vs_3_0",
0 }
Names for all vertex shader types, each entry corresponds to a E_VERTEX_SHADER_TYPE entry.
Definition at line 38 of file IGPUProgrammingServices.h.
• aabbox3d ()
Default Constructor.
• void addInternalPoint (T x, T y, T z)
Adds a point to the bounding box.
• bool intersectsWithLine (const vector3d< T > &linemiddle, const vector3d< T > &linevect, T
halflength) const
Tests if the box intersects with a line.
• void repair ()
Repairs the box.
• void reset (T x, T y, T z)
Resets the bounding box to a one-point box.
Public Attributes
Default Constructor.
Definition at line 26 of file aabbox3d.h.
7.1.2.2 template<class T> irr::core::aabbox3d< T >::aabbox3d (const vector3d< T > & min,
const vector3d< T > & max) [inline]
7.1.2.3 template<class T> irr::core::aabbox3d< T >::aabbox3d (const vector3d< T > & init)
[inline]
Constructor with min edge and max edge as single values, not vectors.
Definition at line 32 of file aabbox3d.h.
Parameters:
b: Other bounding box to add into this box.
Parameters:
x X coordinate of the point to add to this box.
y Y coordinate of the point to add to this box.
z Z coordinate of the point to add to this box.
Parameters:
p: Point to add into the box.
Parameters:
plane Plane to classify relation to.
Returns:
Returns ISREL3D_FRONT if the box is in front of the plane, ISREL3D_BACK if the box is behind
the plane, and ISREL3D_CLIPPED if it is on both sides of the plane.
Returns:
Center of the bounding box.
Parameters:
edges: Pointer to array of 8 edges.
Returns:
Extent of the bounding box.
Parameters:
other: other box to interpolate between
Returns:
Interpolated box.
Parameters:
other: Other box to check a intersection with.
Returns:
True if there is an intersection with the other box, otherwise false.
Parameters:
linemiddle Center of the line.
linevect Vector of the line.
halflength Half length of the line.
Returns:
True if there is an intersection, else false.
Parameters:
line: Line to test intersection with.
Returns:
True if there is an intersection , else false.
Returns:
True if box is empty, else false.
Parameters:
other: Other box to check against.
Returns:
True if this box is completly inside the other box, otherwise false.
Parameters:
p: Point to check.
Returns:
True if the point is within the box and false if not
Parameters:
p: Point to check.
Returns:
True if the point is within the box and false if not.
7.1.3.16 template<class T> bool irr::core::aabbox3d< T >::operator!= (const aabbox3d< T > &
other) const [inline]
Inequality operator.
Parameters:
other box to compare with.
Returns:
True if both boxes are different, else false.
7.1.3.17 template<class T> bool irr::core::aabbox3d< T >::operator== (const aabbox3d< T > &
other) const [inline]
Equality operator.
Parameters:
other box to compare with.
Returns:
True if both boxes are equal, else false.
7.1.3.19 template<class T> void irr::core::aabbox3d< T >::reset (const vector3d< T > &
initValue) [inline]
Parameters:
initValue New point.
7.1.3.20 template<class T> void irr::core::aabbox3d< T >::reset (const aabbox3d< T > &
initValue) [inline]
Parameters:
initValue New box to set this one to.
Parameters:
x X coord of the point.
y Y coord of the point.
z Z coord of the point.
• aabbox3d.h
• array ()
Default constructor for empty array.
• void clear ()
Clears the array and deletes all allocated memory.
• T & getLast ()
Gets last element.
• T ∗ pointer ()
Gets a pointer to the array.
• void sort ()
Sorts the array using heapsort.
• ∼array ()
Destructor.
Self reallocating template array (like stl vector) with additional features.
Some features are: Heap sorting, binary search methods, easier debugging.
Definition at line 21 of file irrArray.h.
Parameters:
start_count Amount of elements to pre-allocate.
Copy constructor.
Definition at line 44 of file irrArray.h.
Destructor.
Frees allocated memory, if set_free_when_destroyed was not set to false by the user before.
Definition at line 55 of file irrArray.h.
Returns:
Amount of memory allocated. The amount of bytes allocated would be allocated_size() ∗
sizeof(ElementsUsed);
Parameters:
element: Element to search for.
left First left index
right Last right index.
Returns:
Position of the searched element if it was found, otherwise -1 is returned.
Parameters:
element Element to search for.
Returns:
Position of the searched element if it was found, otherwise -1 is returned.
Parameters:
element Element to search for.
Returns:
Position of the searched element if it was found, otherwise -1 is returned.
Returns:
Pointer to the array.
Returns:
True if the array is empty false if not.
Parameters:
index: Index of the first element to be erased.
count: Amount of elements to be erased.
Parameters:
index: Index of element to be erased.
Parameters:
element: Element to be inserted
index: Where position to insert the new element.
Parameters:
element: Element to search for.
Returns:
Position of the searched element if it was found, otherwise -1 is returned.
Parameters:
element Element to search for.
Returns:
Position of the searched element if it was found, otherwise -1 is returned.
Inequality operator.
Definition at line 255 of file irrArray.h.
Assignment operator.
Definition at line 216 of file irrArray.h.
Equality operator.
Definition at line 243 of file irrArray.h.
7.2.3.18 ]
7.2.3.19 ]
Returns:
Pointer to the array.
Parameters:
element: Element to add at the back of the array.
Parameters:
element Element to add at the back of the array.
Parameters:
new_size New size of array.
Sets if the array should delete the memory it uses upon destruction.
Parameters:
f If true, the array frees the allocated memory in its destructor, otherwise not. The default is true.
Parameters:
newPointer: Pointer to new array of elements.
size: Size of the new array.
Sets the size of the array and allocates new elements if necessary.
Please note: This is only secure when using it with simple types, because no default constructor will be
called for the added elements.
Parameters:
usedNow Amount of elements now used.
Returns:
Size of elements used in the array.
• irrArray.h
Public Types
• enum eConstructor {
EM4CONST_NOTHING = 0, EM4CONST_COPY, EM4CONST_IDENTITY, EM4CONST_-
TRANSPOSED,
EM4CONST_INVERSE, EM4CONST_INVERSE_TRANSPOSED }
Constructor Flags.
• CMatrix4< T > & buildCameraLookAtMatrixRH (const vector3df &position, const vector3df &tar-
get, const vector3df &upVector)
Builds a right-handed look-at matrix.
• CMatrix4< T > & buildNDCToDCMatrix (const core::rect< s32 > &area, f32 zScale)
Builds a matrix which transforms a normalized Device Coordinate to Device Coordinates.
• CMatrix4< T > & buildShadowMatrix (const core::vector3df &light, core::plane3df plane, f32
point=1.0f)
Builds a matrix that flattens geometry into a plane.
• CMatrix4< T > & buildTextureTransform (f32 rotateRad, const core::vector2df &rotatecenter, const
core::vector2df &translate, const core::vector2df &scale)
Set to a texture transformation matrix with the given parameters.
• CMatrix4< T > interpolate (const core::CMatrix4< T > &b, f32 time) const
Creates a new matrix as interpolated matrix from two other ones.
• bool makeInverse ()
Calculates inverse of matrix. Slow.
• const T & operator() (const s32 row, const s32 col) const
Simple operator for directly accessing every element of the matrix.
• T ∗ pointer ()
• const T ∗ pointer () const
Returns pointer to internal array.
• CMatrix4< T > & setbyproduct (const CMatrix4< T > &other_a, const CMatrix4< T > &other_-
b)
multiply by another matrix
• CMatrix4< T > & setbyproduct_nocheck (const CMatrix4< T > &other_a, const CMatrix4< T >
&other_b)
multiply by another matrix
• void transformPlane (const core::plane3d< f32 > &in, core::plane3d< f32 > &out) const
Transforms a plane by this matrix.
Constructor Flags.
Enumeration values:
EM4CONST_NOTHING
EM4CONST_COPY
EM4CONST_IDENTITY
EM4CONST_TRANSPOSED
EM4CONST_INVERSE
EM4CONST_INVERSE_TRANSPOSED
Default constructor.
Parameters:
constructor Choose the initialization style
7.3.3.2 template<class T> irr::core::CMatrix4< T >::CMatrix4 (const CMatrix4< T > & other,
eConstructor constructor = EM4CONST_COPY) [inline]
Copy constructor.
Parameters:
other Other matrix to copy from
constructor Choose the initialization style
Parameters:
light: light source
plane: plane into which the geometry if flattened into
point: value between 0 and 1, describing the light source. If this is 1, it is a point light, if it is 0, it is a
directional light.
7.3.4.13 template<class T> bool irr::core::CMatrix4< T >::getInverse (CMatrix4< T > & out)
const [inline]
Parameters:
out: where result matrix is written to.
Returns:
Returns false if there is no inverse matrix.
Parameters:
out: where result matrix is written to.
Get Scale.
Definition at line 662 of file matrix4.h.
Parameters:
b: other matrix to interpolate with
time: Must be a value between 0 and 1.
Returns:
Returns false if there is no inverse matrix.
Multiply by scalar.
Definition at line 470 of file matrix4.h.
References irr::core::CMatrix4< T >::EM4CONST_NOTHING.
Multiply by scalar.
Definition at line 496 of file matrix4.h.
7.3.4.32 template<class T> bool irr::core::CMatrix4< T >::operator!= (const CMatrix4< T > &
other) const [inline]
7.3.4.33 template<class T> const T& irr::core::CMatrix4< T >::operator() (const s32 row, const
s32 col) const [inline]
7.3.4.34 template<class T> T& irr::core::CMatrix4< T >::operator() (const s32 row, const s32
col) [inline]
7.3.4.39 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::operator= (const T &
scalar) [inline]
7.3.4.42 ]
template<class T> const T& irr::core::CMatrix4< T >::operator[ ] (u32 index) const [inline]
Simple operator for linearly accessing every element of the matrix.
Definition at line 57 of file matrix4.h.
7.3.4.43 ]
7.3.4.48 template<class T> void irr::core::CMatrix4< T >::rotateVect (vector3df & vect) const
[inline]
Set the inverse translation of the current matrix. Will erase any previous values.
Definition at line 642 of file matrix4.h.
7.3.4.55 template<class T> CMatrix4< T > & irr::core::CMatrix4< T >::setM (const T ∗ data)
[inline]
Make a rotation matrix from Euler angles. The 4th row and column are unmodified.
Definition at line 668 of file matrix4.h.
References irr::core::CMatrix4< T >::setRotationRadians().
Referenced by irr::scene::ISceneNode::getRelativeTransformation().
Make a rotation matrix from Euler angles. The 4th row and column are unmodified.
Definition at line 680 of file matrix4.h.
Referenced by irr::core::CMatrix4< T >::setRotationDegrees().
Set Scale.
Definition at line 147 of file matrix4.h.
Set Scale.
Definition at line 652 of file matrix4.h.
Referenced by irr::core::CMatrix4< T >::buildNDCToDCMatrix(), irr::scene::ISceneNode::getRelative-
Transformation(), and irr::core::CMatrix4< T >::setScale().
Parameters:
radAngle Angle in radians
Returns:
Altered matrix
Parameters:
sx Scale factor on x axis
sy Scale factor on y axis
Returns:
Altered matrix.
Parameters:
sx Scale factor on x axis
sy Scale factor on y axis
Returns:
Altered matrix.
Parameters:
x Offset on x axis
y Offset on y axis
Returns:
Altered matrix
Set the translation of the current matrix. Will erase any previous values.
Definition at line 632 of file matrix4.h.
Referenced by irr::scene::ISceneNode::getRelativeTransformation().
Transforms input vector by this matrix and stores result in output vector.
Definition at line 901 of file matrix4.h.
References irr::core::vector3d< T >::X, irr::core::vector3d< T >::Y, and irr::core::vector3d< T >::Z.
• matrix4.h
irr::IReferenceCounted
irr::scene::IMeshBuffer
irr::scene::CMeshBuffer< T >
• virtual void append (const void ∗const vertices, u32 numVertices, const u16 ∗const indices, u32
numIndices)
Append the vertices and indices to the current buffer.
• CMeshBuffer ()
Default constructor for empty meshbuffer.
Public Attributes
• video::SMaterial Material
Material for this meshbuffer.
Parameters:
other Meshbuffer to be appended to this one.
Implements irr::scene::IMeshBuffer.
Definition at line 167 of file CMeshBuffer.h.
References irr::core::aabbox3d< T >::addInternalBox(), irr::scene::CMeshBuffer< T >::Bounding-
Box, irr::scene::CMeshBuffer< T >::getIndexCount(), irr::scene::CMeshBuffer< T >::getVertexCount(),
irr::scene::CMeshBuffer< T >::Indices, irr::core::array< T, TAlloc >::push_back(), irr::core::array< T,
TAlloc >::reallocate(), and irr::scene::CMeshBuffer< T >::Vertices.
Returns:
Axis aligned bounding box of this buffer.
Implements irr::scene::IMeshBuffer.
Definition at line 95 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::BoundingBox.
Returns:
Number of indices.
Implements irr::scene::IMeshBuffer.
Definition at line 87 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::Indices, and irr::core::array< T, TAlloc >::size().
Referenced by irr::scene::CMeshBuffer< T >::append().
Returns:
Pointer to indices.
Implements irr::scene::IMeshBuffer.
Definition at line 79 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::Indices, and irr::core::array< T, TAlloc >::pointer().
Returns:
Pointer to indices.
Implements irr::scene::IMeshBuffer.
Definition at line 71 of file CMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), and irr::scene::CMeshBuffer< T >::Indices.
Returns:
Material of this buffer
Implements irr::scene::IMeshBuffer.
Definition at line 39 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::Material.
Returns:
Material of this buffer
Implements irr::scene::IMeshBuffer.
Definition at line 31 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::Material.
Returns:
Number of vertices.
Implements irr::scene::IMeshBuffer.
Definition at line 63 of file CMeshBuffer.h.
References irr::core::array< T, TAlloc >::size(), and irr::scene::CMeshBuffer< T >::Vertices.
Referenced by irr::scene::CMeshBuffer< T >::append().
Returns:
Type of vertex data.
Implements irr::scene::IMeshBuffer.
Definition at line 127 of file CMeshBuffer.h.
Returns:
Pointer to vertices.
Implements irr::scene::IMeshBuffer.
Definition at line 55 of file CMeshBuffer.h.
References irr::core::array< T, TAlloc >::pointer(), and irr::scene::CMeshBuffer< T >::Vertices.
Returns:
Pointer to vertices.
Implements irr::scene::IMeshBuffer.
Definition at line 47 of file CMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), and irr::scene::CMeshBuffer< T >::Vertices.
Referenced by irr::scene::CMeshBuffer< T >::append().
Parameters:
box New axis aligned bounding box for this buffer.
Implements irr::scene::IMeshBuffer.
Definition at line 104 of file CMeshBuffer.h.
References irr::scene::CMeshBuffer< T >::BoundingBox.
• CMeshBuffer.h
• dimension2d ()
Default constructor for empty dimension.
• T getArea () const
Get area.
Public Attributes
• T Height
Height of the dimension.
• T Width
Width of the dimension.
Get area.
Definition at line 76 of file dimension2d.h.
Inequality operator.
Definition at line 33 of file dimension2d.h.
Equality operator.
Definition at line 27 of file dimension2d.h.
• dimension2d.h
irr::IReferenceCounted
irr::scene::IMesh
irr::scene::IAnimatedMesh
• virtual IMesh ∗ getMesh (s32 frame, s32 detailLevel=255, s32 startFrameLoop=-1, s32 endFrame-
Loop=-1)=0
Returns the IMesh interface for a frame.
• virtual ∼IAnimatedMesh ()
Destructor.
Destructor.
Definition at line 64 of file IAnimatedMesh.h.
Returns:
Returns the amount of frames. If the amount is 1, it is a static, non animated mesh.
Implemented in irr::scene::SAnimatedMesh.
7.6.3.2 virtual IMesh∗ irr::scene::IAnimatedMesh::getMesh (s32 frame, s32 detailLevel = 255, s32
startFrameLoop = -1, s32 endFrameLoop = -1) [pure virtual]
Parameters:
frame: Frame number as zero based index. The maximum frame number is getFrameCount() - 1;
detailLevel: Level of detail. 0 is the lowest, 255 the highest level of detail. Most meshes will ignore
the detail level.
startFrameLoop: Because some animated meshes (.MD2) are blended between 2 static frames, and
maybe animated in a loop, the startFrameLoop and the endFrameLoop have to be defined, to
prevent the animation to be blended between frames which are outside of this loop. If start-
FrameLoop and endFrameLoop are both -1, they are ignored.
endFrameLoop: see startFrameLoop.
Returns:
Returns the animated mesh based on a detail level.
Implemented in irr::scene::SAnimatedMesh.
Returns:
Type of the mesh.
Reimplemented in irr::scene::SAnimatedMesh.
Definition at line 92 of file IAnimatedMesh.h.
References irr::scene::EAMT_UNKNOWN.
The documentation for this class was generated from the following file:
• IAnimatedMesh.h
irr::IReferenceCounted
irr::scene::IMesh
irr::scene::IAnimatedMesh
irr::scene::IAnimatedMeshMD2
• virtual bool getFrameLoop (const c8 ∗name, s32 &outBegin, s32 &outEnd, s32 &outFPS) const
=0
Get frame loop data for a special MD2 animation type, identified by name.
Parameters:
nr: Zero based index of animation.
Get frame loop data for a special MD2 animation type, identified by name.
Parameters:
name Name of the animation.
outBegin The returned beginning frame for animation type specified.
outEnd The returned ending frame for the animation type specified.
outFPS The number of frames per second, this animation should be played at.
Returns:
beginframe, endframe and frames per second for a special MD2 animation type.
Parameters:
l The EMD2_ANIMATION_TYPE to get the frames for.
outBegin The returned beginning frame for animation type specified.
outEnd The returned ending frame for the animation type specified.
outFPS The number of frames per second, this animation should be played at.
Returns:
beginframe, endframe and frames per second for a default MD2 animation type.
The documentation for this class was generated from the following file:
• IAnimatedMeshMD2.h
irr::IReferenceCounted
irr::scene::IMesh
irr::scene::IAnimatedMesh
irr::scene::IAnimatedMeshMD3
• virtual SMD3QuaterionTagList ∗ getTagList (s32 frame, s32 detailLevel, s32 startFrameLoop, s32
endFrameLoop)=0
get the tag list of the mesh.
• IAnimatedMeshMD3.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::IAnimatedMeshSceneNode
• virtual ∼IAnimatedMeshSceneNode ()
Destructor.
7.9.2.1 irr::scene::IAnimatedMeshSceneNode::IAnimatedMeshSceneNode
(ISceneNode ∗ parent, ISceneManager ∗ mgr, s32 id, const core::vector3df
& position = core::vector3df(0,0,0), const core::vector3df &
rotation = core::vector3df(0,0,0), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f)) [inline]
Constructor.
Definition at line 62 of file IAnimatedMeshSceneNode.h.
Destructor.
Definition at line 69 of file IAnimatedMeshSceneNode.h.
Returns:
Pointer to the created shadow scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Get a pointer to a joint in the mesh (if the mesh is a bone based mesh).
With this method it is possible to attach scene nodes to joints for example possible to attach a weapon to
the left hand of an animated model. This example shows how:
ISceneNode* hand =
yourAnimatedMeshSceneNode->getJointNode("LeftHand");
hand->addChild(weaponSceneNode);
Please note that the joint returned by this method may not exist before this call and the joints in the node
were created by it.
Parameters:
jointName: Name of the joint.
Returns:
Pointer to the scene node which represents the joint with the specified name. Returns 0 if the contained
mesh is not an skinned mesh or the name of the joint could not be found.
Get the absolute transformation for a special MD3 Tag if the mesh is a md3 mesh, or the absolutetransfor-
mation if it’s a normal scenenode.
Returns if the scene node should not copy the materials of the mesh but use them in a read only style.
Sets a callback interface which will be called if an animation playback has ended.
Set this to 0 to disable the callback again. Please note that this will only be called when in non looped
mode, see IAnimatedMeshSceneNode::setLoopMode().
Parameters:
framesPerSecond: Frames per second played.
Parameters:
frame: Number of the frame to let the animation be started from. The frame number must be a valid
frame number of the IMesh used by this scene node. Set IAnimatedMesh::getMesh() for details.
Parameters:
begin: Start frame number of the loop.
end: End frame number of the loop.
Returns:
True if successful, false if not.
Parameters:
animationName: Name of the animation which should be played.
Returns:
Returns true if successful, and false if not, for example if the mesh in the scene node is not an md2
mesh, or no animation with this name could be found.
Parameters:
anim: An MD2 animation type, which should be played, for example EMAT_STAND for the standing
animation.
Returns:
True if successful, and false if not, for example if the mesh in the scene node is not a md2 mesh.
Sets if the scene node should not copy the materials of the mesh but use them in a read only style.
• IAnimatedMeshSceneNode.h
irr::IReferenceCounted
irr::scene::IAnimationEndCallBack
Parameters:
node: Node of which the animation has ended.
The documentation for this class was generated from the following file:
• IAnimatedMeshSceneNode.h
An object which is able to serialize and deserialize its attributes into an attributes object.
#include <IAttributeExchangingObject.h>
Inheritance diagram for irr::io::IAttributeExchangingObject::
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::gui::IGUIFileOpenDialog irr::scene::IMeshSceneNode
irr::gui::IGUIImage irr::scene::IParticleSystemSceneNode
irr::gui::IGUIInOutFader irr::scene::IShadowVolumeSceneNode
irr::gui::IGUIListBox irr::scene::ITerrainSceneNode
irr::gui::IGUIMeshViewer irr::scene::ITextSceneNode
irr::gui::IGUIScrollBar
irr::gui::IGUISpinBox
irr::gui::IGUIStaticText
irr::gui::IGUITab
irr::gui::IGUITabControl
irr::gui::IGUIToolBar
irr::gui::IGUIWindow
An object which is able to serialize and deserialize its attributes into an attributes object.
Definition at line 51 of file IAttributeExchangingObject.h.
• IAttributeExchangingObject.h
irr::IReferenceCounted
irr::io::IAttributes
• virtual void addEnum (const c8 ∗attributeName, s32 enumValue, const c8 ∗const ∗enumeration-
Literals)=0
Adds an attribute as enum.
• virtual void setAttribute (s32 index, const c8 ∗enumValue, const c8 ∗const ∗enumeration-
Literals)=0
Sets an attribute as enumeration.
• virtual void setAttribute (const c8 ∗attributeName, const core::array< core::stringw > value)=0
• virtual void setAttribute (s32 index, void ∗data, s32 dataSizeInBytes)=0
Sets an attribute as binary data.
• virtual bool write (io::IXMLWriter ∗writer, bool writeXMLHeader=false, const wchar_t ∗element-
Name=0)=0
Provides a generic interface for attributes and their values and the possiblity to serialize them.
Definition at line 120 of file IAttributes.h.
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute() or 0 if attribute is not set.
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
outData Pointer to buffer where data shall be stored.
maxSizeInBytes Maximum number of bytes to write into outData.
Parameters:
attributeName: Name of the attribute to get.
outData Pointer to buffer where data shall be stored.
maxSizeInBytes Maximum number of bytes to write into outData.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
enumerationLiteralsToUse: Use these enumeration literals to get the index value instead of the set
ones. This is useful when the attribute list maybe was read from an xml file, and only contains
the enumeration string, but no information about its index.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
attributeName: Name of the attribute to get.
enumerationLiteralsToUse: Use these enumeration literals to get the index value instead of the set
ones. This is useful when the attribute list maybe was read from an xml file, and only contains
the enumeration string, but no information about its index.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName Name of the attribute to get.
target Buffer where the string is copied to.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute() or 0 if attribute is not set.
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
target: Buffer where the string is copied to.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute() or 0 if attribute is not set.
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name of the attribute to get.
Returns:
Returns value of the attribute previously set by setAttribute()
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
outLiterals Set of strings to choose the enum name from.
Parameters:
attributeName Name of the attribute to get.
outLiterals Set of strings to choose the enum name from.
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: Name for the attribute
Parameters:
index: Index value, must be between 0 and getAttributeCount()-1.
Parameters:
attributeName: String for the attribute type
7.12.2.102 virtual void irr::io::IAttributes::setAttribute (s32 index, core::rect< s32 > v) [pure
virtual]
Parameters:
attributeName: Name for the attribute
value: Value for the attribute. Set this to 0 to delete the attribute
Parameters:
index Index value, must be between 0 and getAttributeCount()-1.
value String to which the attribute is set.
Parameters:
attributeName: Name for the attribute
value: Value for the attribute. Set this to 0 to delete the attribute
Parameters:
index Index value, must be between 0 and getAttributeCount()-1.
value String to which the attribute is set.
Parameters:
attributeName: Name for the attribute
value: Value for the attribute. Set this to 0 to delete the attribute
Parameters:
writer: The XML writer to write to
writeXMLHeader: Writes a header to the XML file, required if at the beginning of the file
elementName: The surrounding element name. If it is null, the default one, "attributes" will be taken.
The documentation for this class was generated from the following file:
• IAttributes.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::IBillboardSceneNode
Constructor.
Definition at line 25 of file IBillboardSceneNode.h.
Gets the color of the top and bottom vertices of the billboard.
Parameters:
topColor: stores the color of the top vertices
bottomColor: stores the color of the bottom vertices
Set the color of the top and bottom vertices of the billboard.
Parameters:
topColor: the color to set the top vertices
bottomColor: the color to set the bottom vertices
Parameters:
overallColor: the color to set
• IBillboardSceneNode.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::IBoneSceneNode
Public Attributes
• s32 positionHint
• s32 rotationHint
• s32 scaleHint
Returns:
True if successful. (Unused)
Updates the absolute position based on the relative and the parents position.
• IBoneSceneNode.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode irr::IEventReceiver
irr::scene::ICameraSceneNode
• ICameraSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df &po-
sition=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const
core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))
Constructor.
• virtual ∼ICameraSceneNode ()
Destructor.
Constructor.
Definition at line 28 of file ICameraSceneNode.h.
Destructor.
Definition at line 35 of file ICameraSceneNode.h.
Returns:
Returns the aspect ratio of the camera.
Returns:
Returns the value of the far plane of the camera.
Returns:
Returns the field of view of the camera in radiants.
Returns:
Returns the value of the near plane of the camera.
Returns:
Returns the current projection matrix of the camera.
Returns:
Returns the current look at target of the camera
Returns:
Returns the up vector of the camera.
Returns:
Returns the current view frustum.
Returns:
Returns the current view matrix of the camera.
Parameters:
aspect: New aspect ratio.
Parameters:
zf: New z far value.
Parameters:
fovy: New field of view in radiants.
Parameters:
zn: New z near value.
Parameters:
projection: The new projection matrix of the camera.
Parameters:
pos: Look at target of the camera.
Parameters:
pos: New upvector of the camera.
The documentation for this class was generated from the following file:
• ICameraSceneNode.h
irr::IReferenceCounted
irr::gui::ICursorControl
Returns:
Returns the current position of the cursor. The returned position is the position of the mouse cursor in
pixel units.
Returns:
Returns the current position of the cursor. The returned position is a value between (0.0f, 0.0f) and
(1.0f, 1.0f), where (0.0f, 0.0f) is the top left corner and (1.0f, 1.0f) is the bottom right corner of the
render window.
Returns:
True if the cursor is visible, false if not.
Parameters:
x New x-coord of the cursor. The coordinates are pixel units.
y New y-coord of the cursor. The coordinates are pixel units.
7.16.2.5 virtual void irr::gui::ICursorControl::setPosition (const core::position2d< s32 > & pos)
[pure virtual]
Parameters:
pos: New position of the cursor. The coordinates are pixel units.
Parameters:
x New x-coord of the cursor.
y New x-coord of the cursor.
7.16.2.7 virtual void irr::gui::ICursorControl::setPosition (const core::position2d< f32 > & pos)
[pure virtual]
Parameters:
pos New position of the cursor.
Sets an absolute reference rect for setting and retrieving the cursor position.
If this rect is set, the cursor position is not being calculated relative to the rendering window but to this
rect. You can set the rect pointer to 0 to disable this feature again. This feature is useful when rendering
into parts of foreign windows for example in an editor.
Parameters:
rect: A pointer to an reference rectangle or 0 to disable the reference rectangle.
Parameters:
visible: The new visible state. If true, the cursor will be visible, if false, it will be invisible.
The documentation for this class was generated from the following file:
• ICursorControl.h
Dummy scene node for adding additional transformations to the scene graph.
#include <IDummyTransformationSceneNode.h>
Inheritance diagram for irr::scene::IDummyTransformationSceneNode::
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::IDummyTransformationSceneNode
Dummy scene node for adding additional transformations to the scene graph.
This scene node does not render itself, and does not respond to set/getPosition, set/getRotation and set/get-
Scale. Its just a simple scene node that takes a matrix as relative transformation, making it possible to
insert any transformation anywhere into the scene graph. This scene node is for example used by the
IAnimatedMeshSceneNode for emulating joint scene nodes when playing skeletal animations.
Definition at line 23 of file IDummyTransformationSceneNode.h.
7.17.2.1 irr::scene::IDummyTransformationSceneNode::IDummyTransformationSceneNode
(ISceneNode ∗ parent, ISceneManager ∗ mgr, s32 id) [inline]
Constructor.
Definition at line 28 of file IDummyTransformationSceneNode.h.
• IDummyTransformationSceneNode.h
irr::gui::IGUIElement irr::scene::ICameraSceneNode
irr::gui::IGUIButton
irr::gui::IGUICheckBox
irr::gui::IGUIColorSelectDialog
irr::gui::IGUIComboBox
irr::gui::IGUIContextMenu
irr::gui::IGUIEditBox
irr::gui::IGUIFileOpenDialog
irr::gui::IGUIImage
irr::gui::IGUIInOutFader
irr::gui::IGUIListBox
irr::gui::IGUIMeshViewer
irr::gui::IGUIScrollBar
irr::gui::IGUISpinBox
irr::gui::IGUIStaticText
irr::gui::IGUITab
irr::gui::IGUITabControl
irr::gui::IGUIToolBar
irr::gui::IGUIWindow
• virtual ∼IEventReceiver ()
Destructor.
returns true. See irr::EEVENT_TYPE for a description of where each type of event starts, and the path it
takes through the system.
Definition at line 253 of file IEventReceiver.h.
Destructor.
Definition at line 258 of file IEventReceiver.h.
7.18.3.1 virtual bool irr::IEventReceiver::OnEvent (const SEvent & event) [pure virtual]
Returns:
True if the event was processed.
• IEventReceiver.h
irr::IReferenceCounted
irr::io::IFileList
• virtual ∼IFileList ()
Destructor.
Destructor.
Definition at line 21 of file IFileList.h.
Returns:
Amount of files and directories in the file list.
7.19.3.2 virtual const c8∗ irr::io::IFileList::getFileName (u32 index) const [pure virtual]
Parameters:
index is the zero based index of the file which name should be returned. The index has to be smaller
than the amount getFileCount() returns.
Returns:
File name of the file. Returns 0, if an error occured.
Gets the full name of a file in the list, path included, based on an index.
Parameters:
index is the zero based index of the file which name should be returned. The index has to be smaller
than the amount getFileCount() returns.
Returns:
File name of the file. Returns 0, if an error occured.
Parameters:
index is the zero based index of the file which name should be returned. The index has to be smaller
than the amount getFileCount() returns.
Returns:
True, if the file is a directory, and false, if it is not. If an error occurs, the result is undefined.
The documentation for this class was generated from the following file:
• IFileList.h
• virtual ∼IFileReadCallBack ()
Destructor.
Destructor.
Definition at line 218 of file irrXML.h.
Parameters:
buffer: Pointer to buffer where to read bytes will be written to.
Returns:
Returns how much bytes were read.
The documentation for this class was generated from the following file:
• irrXML.h
irr::IReferenceCounted
irr::io::IFileSystem
• virtual IReadFile ∗ createMemoryReadFile (void ∗memory, s32 len, const c8 ∗fileName, bool delete-
MemoryWhenDropped=false)=0
Creates an IReadFile interface for accessing memory like a file.
Creates a XML Reader from a file which returns all parsed strings as wide characters (wchar_t∗).
• virtual ∼IFileSystem ()
Destructor.
The FileSystem manages files and archives and provides access to them.
It manages where files are, so that modules which use the the IO do not need to know where every file is
located. A file could be in a .zip-Archive or as file on disk, using the IFileSystem makes no difference to
this.
Definition at line 31 of file IFileSystem.h.
Destructor.
Definition at line 36 of file IFileSystem.h.
Parameters:
filename: Filename of the unzipped zip archive base directory to add to the file system.
ignoreCase: If set to true, files in the archive can be accessed without writing all letters in the right
case.
ignorePaths: If set to true, files in the added archive can be accessed without its complete path.
Returns:
Returns true if the archive was added successful, false if not.
Parameters:
filename: Filename of the pak archive to add to the file system.
ignoreCase: If set to true, files in the archive can be accessed without writing all letters in the right
case.
ignorePaths: If set to true, files in the added archive can be accessed without its complete path.(should
not use with Quake2 paks
Returns:
Returns true if the archive was added successful, false if not.
Parameters:
filename: Filename of the zip archive to add to the file system.
ignoreCase: If set to true, files in the archive can be accessed without writing all letters in the right
case.
ignorePaths: If set to true, files in the added archive can be accessed without its complete path.
Returns:
Returns true if the archive was added successful, false if not.
Parameters:
newDirectory: A string specifying the new working directory. The string is operating system depen-
dent. Under Windows it has the form "<drive>:<directory><sudirectory><..>". An example
would be: "C:\Windows\"
Returns:
True if successful, otherwise false.
Parameters:
filename: Name of file to open.
Returns:
Returns a pointer to the created file interface. The returned pointer should be dropped when no longer
needed. See IReferenceCounted::drop() for more information.
Parameters:
filename: Name of file to open.
append: If the file already exist, all write operations are appended to the file.
Returns:
Returns a pointer to the created file interface. 0 is returned, if the file could not created or opened
for writing. The returned pointer should be dropped when no longer needed. See IReference-
Counted::drop() for more information.
Creates a new empty collection of attributes, usable for serialization and more.
Parameters:
driver: Video driver to be used to load textures when specified as attribute values. Can be null to
prevent automatic texture loading by attributes.
Returns:
Returns a pointer to the created object. If you no longer need the object, you should call IAt-
tributes::drop(). See IReferenceCounted::drop() for more information.
Creates a list of files and directories in the current working directory and returns it.
Returns:
a Pointer to the created IFileList is returned. After the list has been used it has to be deleted using its
IFileList::drop() method. See IReferenceCounted::drop() for more information.
Parameters:
memory: A pointer to the start of the file in memory
len: The length of the memory in bytes
fileName: The name given to this file
deleteMemoryWhenDropped: True if the memory should be deleted along with the IReadFile when
it is dropped.
Returns:
Returns a pointer to the created file interface. The returned pointer should be dropped when no longer
needed. See IReferenceCounted::drop() for more information.
Creates a XML Reader from a file which returns all parsed strings as wide characters (wchar_t∗).
Use createXMLReaderUTF8() if you prefer char∗ instead of wchar_t∗. See IIrrXMLReader for more
information on how to use the parser.
Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLReader is returned. After use,
the reader has to be deleted using its IXMLReader::drop() method. See IReferenceCounted::drop() for
more information.
Creates a XML Reader from a file which returns all parsed strings as wide characters (wchar_t∗).
Use createXMLReaderUTF8() if you prefer char∗ instead of wchar_t∗. See IIrrXMLReader for more
information on how to use the parser.
Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLReader is returned. After use,
the reader has to be deleted using its IXMLReader::drop() method. See IReferenceCounted::drop() for
more information.
Creates a XML Reader from a file which returns all parsed strings as ASCII/UTF-8 characters (char∗).
Use createXMLReader() if you prefer wchar_t∗ instead of char∗. See IIrrXMLReader for more information
on how to use the parser.
Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLReader is returned. After use, the
reader has to be deleted using its IXMLReaderUTF8::drop() method. See IReferenceCounted::drop()
for more information.
Creates a XML Reader from a file which returns all parsed strings as ASCII/UTF-8 characters (char∗).
Use createXMLReader() if you prefer wchar_t∗ instead of char∗. See IIrrXMLReader for more information
on how to use the parser.
Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLReader is returned. After use, the
reader has to be deleted using its IXMLReaderUTF8::drop() method. See IReferenceCounted::drop()
for more information.
Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLWriter is returned. After use,
the reader has to be deleted using its IXMLWriter::drop() method. See IReferenceCounted::drop() for
more information.
Returns:
0, if file could not be opened, otherwise a pointer to the created IXMLWriter is returned. After use,
the reader has to be deleted using its IXMLWriter::drop() method. See IReferenceCounted::drop() for
more information.
Parameters:
filename is the string identifying the file which should be tested for existence.
Returns:
Returns true if file exists, and false if it does not exist or an error occured.
Converts a relative path to an absolute (unique) path, resolving symbolic links if required.
Parameters:
filename Possibly relative filename begin queried.
Returns:
Absolute filename which points to the same file.
Parameters:
filename: The file to get the directory from.
Returns:
String containing the directory of the file.
Returns:
Current working directory as a string.
The documentation for this class was generated from the following file:
• IFileSystem.h
• virtual ∼IGPUProgrammingServices ()
Destructor.
Interface making it possible to create and use programs running on the GPU.
Destructor.
Definition at line 79 of file IGPUProgrammingServices.h.
Parameters:
vertexShaderProgram: String containing the source of the vertex shader program. This can be 0 if no
vertex program shall be used.
vertexShaderEntryPointName: Name of the entry function of the vertexShaderProgram
vsCompileTarget: Vertex shader version where the high level shader shall be compiled to.
pixelShaderProgram: String containing the source of the pixel shader program. This can be 0 if no
pixel shader shall be used.
pixelShaderEntryPointName: Entry name of the function of the pixelShaderEntryPointName
psCompileTarget: Pixel shader version where the high level shader shall be compiled to.
callback: Pointer to an implementation of IShaderConstantSetCallBack in which you can set the
needed vertex and pixel shader program constants. Set this to 0 if you don’t need this.
baseMaterial: Base material which renderstates will be used to shade the material.
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.
Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured, e.g. if a vertex or pixel shader program could not be compiled
or a compile target is not reachable. The error strings are then printed to the error log and can be
catched with a custom event receiver.
Parameters:
vertexShaderProgram: Text file handle containing the source of the vertex shader program. Set to 0
if no shader shall be created.
vertexShaderEntryPointName: Name of the entry function of the vertexShaderProgram
vsCompileTarget: Vertex shader version where the high level shader shall be compiled to.
pixelShaderProgram: Text file containing the source of the pixel shader program. Set to
pixelShaderProgram: Text file handle containing the source of the pixel shader program. Set to 0 if
no shader shall be created.
pixelShaderEntryPointName: Entry name of the function of the pixelShaderEntryPointName
psCompileTarget: Pixel shader version where the high level shader shall be compiled to.
callback: Pointer to an implementation of IShaderConstantSetCallBack in which you can set the
needed vertex and pixel shader program constants. Set this to 0 if you don’t need this.
baseMaterial: Base material which renderstates will be used to shade the material.
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.
Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured, e.g. if a vertex or pixel shader program could not be compiled
or a compile target is not reachable. The error strings are then printed to the error log and can be
catched with a custom event receiver.
Parameters:
vertexShaderProgram: Text file containing the source of the vertex shader program. Set to 0 if no
shader shall be created.
vertexShaderEntryPointName: Name of the entry function of the vertexShaderProgram
vsCompileTarget: Vertex shader version where the high level shader shall be compiled to.
pixelShaderProgram: Text file containing the source of the pixel shader program. Set to 0 if no shader
shall be created.
vertexShaderEntryPointName: Name of the entry function of the vertexShaderProgram
vsCompileTarget: Vertex shader version where the high level shader shall be compiled to.
pixelShaderProgram: String containing the source of the pixel shader program. This can be 0 if no
pixel shader shall be used.
pixelShaderEntryPointName: Entry name of the function of the pixelShaderEntryPointName
psCompileTarget: Pixel shader version where the high level shader shall be compiled to.
callback: Pointer to an implementation of IShaderConstantSetCallBack in which you can set the
needed vertex and pixel shader program constants. Set this to 0 if you don’t need this.
baseMaterial: Base material which renderstates will be used to shade the material.
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.
Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured, e.g. if a vertex or pixel shader program could not be compiled
or a compile target is not reachable. The error strings are then printed to the error log and can be
catched with a custom event receiver.
For DX8 programs, the will always input registers look like this: v0: position, v1: normal, v2: color, v3:
texture cooridnates, v4: texture coordinates 2 if available.
For DX9 programs, you can manually set the registers using the dcl_ statements.
Parameters:
pixelShaderProgram: String containing the source of the pixel shader program. This can be 0 if you
don’t want to use a pixel shader.
callback: Pointer to an implementation of IShaderConstantSetCallBack in which you can set the
needed vertex and pixel shader program constants. Set this to 0 if you don’t need this.
baseMaterial: Base material which renderstates will be used to shade the material.
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.
Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured. -1 is returned for example if a vertex or pixel shader program
could not be compiled, the error strings are then printed out into the error log, and can be catched with
a custom event receiver.
Parameters:
vertexShaderProgramFileName: Text file name containing the source of the vertex shader program.
Set to 0 if no shader shall be created.
pixelShaderProgramFileName: Text file name containing the source of the pixel shader program. Set
to 0 if no shader shall be created.
callback: Pointer to an IShaderConstantSetCallback object on which the OnSetConstants function is
called.
baseMaterial: baseMaterial
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.
Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured. -1 is returned for example if a vertex or pixel shader program
could not be compiled, the error strings are then printed out into the error log, and can be catched with
a custom event receiver.
Parameters:
vertexShaderProgram: Text file containing the source of the vertex shader program. Set to 0 if no
shader shall be created.
pixelShaderProgram: Text file containing the source of the pixel shader program. Set to 0 if no shader
shall be created.
callback: Pointer to an IShaderConstantSetCallback object to which the OnSetConstants function is
called.
baseMaterial: baseMaterial
userData: a user data int. This int can be set to any value and will be set as parameter in the callback
method when calling OnSetConstants(). In this way it is easily possible to use the same callback
method for multiple materials and distinguish between them during the call.
Returns:
Returns the number of the material type which can be set in SMaterial::MaterialType to use the ren-
derer. -1 is returned if an error occured. -1 is returned for example if a vertex or pixel shader program
could not be compiled, the error strings are then printed out into the error log, and can be catched with
a custom event receiver.
The documentation for this class was generated from the following file:
• IGPUProgrammingServices.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIButton
• virtual void setImage (video::ITexture ∗image, const core::rect< s32 > &pos)=0
Sets a background image for the button when it is in normal state.
• virtual void setPressedImage (video::ITexture ∗image, const core::rect< s32 > &pos)=0
Sets an image which should be displayed on the button when it is in pressed state.
• virtual ∼IGUIButton ()
destructor
constructor
Definition at line 60 of file IGUIButton.h.
References irr::gui::EGUIET_BUTTON.
destructor
Definition at line 64 of file IGUIButton.h.
Returns if the alpha channel should be used for drawing background images on the button.
Returns if the border and button face are being drawn using the skin.
Sets if the button should use the skin to draw its border and button face (default is true).
Parameters:
image: Texture containing the image to be displayed
pos: Position in the texture, where the image is located
Sets an image which should be displayed on the button when it is in normal state.
Parameters:
image: Image to be displayed
Parameters:
font: New font to set.
Sets an image which should be displayed on the button when it is in pressed state.
Parameters:
image: Texture containing the image to be displayed
pos: Position in the texture, where the image is located
Parameters:
image: Image to be displayed
Parameters:
index: Number of the sprite within the sprite bank, use -1 for no sprite
state: State of the button to set the sprite for
index: The sprite number from the current sprite bank
color: The color of the sprite
loop: True if the animation should loop, false if not
Sets if the alpha channel should be used for drawing background images on the button (default is false).
The documentation for this class was generated from the following file:
• IGUIButton.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUICheckBox
• virtual ∼IGUICheckBox ()
destructor
constructor
Definition at line 21 of file IGUICheckBox.h.
References irr::gui::EGUIET_CHECK_BOX.
destructor
Definition at line 25 of file IGUICheckBox.h.
• IGUICheckBox.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIColorSelectDialog
• virtual ∼IGUIColorSelectDialog ()
destructor
constructor
Definition at line 21 of file IGUIColorSelectDialog.h.
References irr::gui::EGUIET_COLOR_SELECT_DIALOG.
destructor
Definition at line 25 of file IGUIColorSelectDialog.h.
The documentation for this class was generated from the following file:
• IGUIColorSelectDialog.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIComboBox
• IGUIComboBox (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor
• virtual ∼IGUIComboBox ()
destructor
Combobox widget.
Definition at line 16 of file IGUIComboBox.h.
constructor
Definition at line 21 of file IGUIComboBox.h.
References irr::gui::EGUIET_COMBO_BOX.
destructor
Definition at line 25 of file IGUIComboBox.h.
• IGUIComboBox.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIContextMenu
• virtual ∼IGUIContextMenu ()
destructor
constructor
Definition at line 21 of file IGUIContextMenu.h.
References irr::gui::EGUIET_CONTEXT_MENU.
destructor
Definition at line 25 of file IGUIContextMenu.h.
Parameters:
text: Text of menu item. Set this to 0 to create an separator instead of a real item, which is the same
like calling addSeparator();
commandId: Command id of menu item, a simple id you may set to whatever you want.
enabled: Specifies if the menu item should be enabled.
hasSubMenu: Set this to true if there should be a submenu at this item. You can acess this submenu
via getSubMenu().
checked: Specifies if the menu item should be initially checked.
Returns:
Returns the index of the new item
Parameters:
idx: Zero based index of the menu item
Parameters:
idx: Zero based index of the menu item
Returns:
Index of the selected item, -1 if none selected.
Parameters:
idx: Zero based index of the menu item
Returns:
Returns a pointer to the submenu of an item.
Parameters:
idx: Zero based index of the menu item
Parameters:
idx: Zero based index of the menu item
Parameters:
idx: Zero based index of the menu item
Parameters:
idx: Zero based index of the menu item
enabled: True if it is enabled, otherwise false.
Parameters:
idx: Zero based index of the menu item
id: Command id of menu item, a simple id you may set to whatever you want.
Parameters:
idx: Zero based index of the menu item
enabled: True if it is enabled, otherwise false.
Parameters:
idx: Zero based index of the menu item
text: New text of the item.
The documentation for this class was generated from the following file:
• IGUIContextMenu.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIEditBox
• virtual ∼IGUIEditBox ()
destructor
constructor
Definition at line 23 of file IGUIEditBox.h.
References irr::gui::EGUIET_EDIT_BOX.
destructor
Definition at line 27 of file IGUIEditBox.h.
Sets if the text should use the overide color or the color in the gui skin.
Parameters:
enable: If set to true, the override color, which can be set with IGUIEditBox::setOverrideColor is
used, otherwise the EGDC_BUTTON_TEXT color of the skin.
Returns:
Returns the size in pixels of the text
Returns:
true if automatic scrolling is enabled, false if not
Returns:
true if mult-line is enabled, false otherwise
Returns:
true if word wrap is enabled, false otherwise
Parameters:
enable: If set to true, the text will move around with the cursor position
Parameters:
border: true if you want the border to be drawn, false if not
Sets the maximum amount of characters which may be entered in the box.
Parameters:
max: Maximum amount of characters. If 0, the character amount is infinity.
Parameters:
enable: If set to true, the EGET_EDITBOX_ENTER event will not be fired, instead a newline char-
acter will be inserted.
Parameters:
color: New color of the text.
Parameters:
font: New font to set.
Sets whether the edit box is a password box. Setting this to true will.
disable MultiLine, WordWrap and the ability to copy with ctrl+c or ctrl+x
Parameters:
passwordBox: true to enable password, false to disable
passwordChar: the character that is displayed instead of letters
Parameters:
horizontal: EGUIA_UPPERLEFT for left justified (default), EGUIA_LOWEERRIGHT for right jus-
tified, or EGUIA_CENTER for centered text.
vertical: EGUIA_UPPERLEFT to align with top edge, EGUIA_LOWEERRIGHT for bottom edge,
or EGUIA_CENTER for centered text (default).
Parameters:
enable: If set to true, words going over one line are broken to the next line.
The documentation for this class was generated from the following file:
• IGUIEditBox.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIButton
irr::gui::IGUICheckBox
irr::gui::IGUIColorSelectDialog
irr::gui::IGUIComboBox
irr::gui::IGUIContextMenu
irr::gui::IGUIEditBox
irr::gui::IGUIFileOpenDialog
irr::gui::IGUIImage
irr::gui::IGUIInOutFader
irr::gui::IGUIListBox
irr::gui::IGUIMeshViewer
irr::gui::IGUIScrollBar
irr::gui::IGUISpinBox
irr::gui::IGUIStaticText
irr::gui::IGUITab
irr::gui::IGUITabControl
irr::gui::IGUIToolBar
irr::gui::IGUIWindow
• bool getNextElement (s32 startOrder, bool reverse, bool group, IGUIElement ∗&first, IGUIElement
∗&closest, bool includeInvisible=false) const
• IGUIElement ∗ getParent () const
Returns parent of this element.
• IGUIElement ∗ getTabGroup ()
• s32 getTabOrder () const
Returns the number in the tab order sequence.
• virtual ∼IGUIElement ()
Destructor.
Protected Attributes
• core::rect< s32 > AbsoluteClippingRect
absolute clipping rect of element
• EGUI_ALIGNMENT AlignBottom
tells the element how to act when its parent is resized
• EGUI_ALIGNMENT AlignLeft
tells the element how to act when its parent is resized
• EGUI_ALIGNMENT AlignRight
tells the element how to act when its parent is resized
• EGUI_ALIGNMENT AlignTop
tells the element how to act when its parent is resized
GUI Environment.
• s32 ID
id
• bool IsEnabled
is enabled?
• bool IsSubElement
is a part of a larger whole and should not be serialized?
• bool IsTabGroup
tab groups are containers like windows, use ctrl+tab to navigate
• bool IsTabStop
tab stop like in windows
• bool IsVisible
is visible?
• core::dimension2di MaxSize
maximum and minimum size of the element
• core::dimension2di MinSize
maximum and minimum size of the element
• bool NoClip
does this element ignore its parent’s clipping rectangle?
• IGUIElement ∗ Parent
Pointer to the parent.
• s32 TabOrder
tab order
• core::stringw Text
caption
• core::stringw ToolTipText
tooltip
• EGUI_ELEMENT_TYPE Type
type of element
Constructor.
Definition at line 51 of file IGUIElement.h.
References AbsoluteClippingRect, AbsoluteRect, AlignBottom, AlignLeft, AlignRight, AlignTop,
irr::core::rect< T >::clipAgainst(), DesiredRect, irr::gui::EGUIA_UPPERLEFT, Environment, get-
AbsolutePosition(), ID, IsEnabled, IsSubElement, IsTabGroup, IsTabStop, IsVisible, LastParentRect, Max-
Size, MinSize, NoClip, Parent, RelativeRect, irr::IReferenceCounted::setDebugName(), TabOrder, Type,
and irr::core::rect< T >::UpperLeftCorner.
Destructor.
Definition at line 80 of file IGUIElement.h.
References irr::core::list< T >::begin(), Children, and irr::core::list< T >::end().
Returns:
Returns true if successful, false if not.
Reads attributes of the scene node. Implement this to set the attributes of your scene node for scripting
languages, editors, debuggers or xml deserialization purposes.
Reimplemented from irr::io::IAttributeExchangingObject.
Definition at line 840 of file IGUIElement.h.
References irr::gui::GUIAlignmentNames, IsTabGroup, IsTabStop, setAlignment(), setEnabled(), set-
ID(), setMaxSize(), setMinSize(), setNotClipped(), setRelativePosition(), setText(), setVisible(), TabOrder,
irr::core::position2d< T >::X, and irr::core::position2d< T >::Y.
Parameters:
id: Id to search for.
searchchildren: Set this to true, if also children of this element may contain the element with the
searched id and they should be searched too.
Returns:
Returns the first element with the given id. If no element with this id was found, 0 is returned.
Parameters:
startOrder: The TabOrder of the current element, -1 if none
reverse: true if searching for a lower number
group: true if searching for a higher one
first: element with the highest/lowest known tab order depending on search direction
closest: the closest match, depending on tab order and direction
includeInvisible: includes invisible elements in the search (default=false)
Returns:
true if successfully found an element, false to continue searching/fail
Returns the container element which holds all elements in this element’s tab group.
Definition at line 563 of file IGUIElement.h.
References getParent(), and isTabGroup().
Referenced by setTabOrder().
Parameters:
child: The child element to check
Gets whether the element will ignore its parent’s clipping rectangle.
Returns true if a point is within this element. Elements with a shape other than a rectangle will override
this method
Definition at line 383 of file IGUIElement.h.
References AbsoluteClippingRect, and irr::core::rect< T >::isPointInside().
Referenced by getElementFromPoint().
Returns true if this element was created as part of its parent control.
Definition at line 473 of file IGUIElement.h.
References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and IsSubElement.
Returns true if this element can be focused by navigating with the tab key.
Definition at line 500 of file IGUIElement.h.
References _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX, and IsTabStop.
Removes a child.
Definition at line 404 of file IGUIElement.h.
References irr::core::list< T >::begin(), Children, irr::core::list< T >::end(), and irr::core::list< T
>::erase().
Referenced by remove().
Writes attributes of the scene node. Implement this to expose the attributes of your scene node for scripting
languages, editors, debuggers or xml serialization purposes.
Reimplemented from irr::io::IAttributeExchangingObject.
Definition at line 817 of file IGUIElement.h.
References AlignBottom, AlignLeft, AlignRight, AlignTop, DesiredRect, getText(),
irr::gui::GUIAlignmentNames, irr::core::dimension2d< T >::Height, ID, IsEnabled, IsTabGroup,
IsTabStop, IsVisible, MaxSize, MinSize, NoClip, TabOrder, and irr::core::dimension2d< T >::Width.
Sets whether the element will ignore its parent’s clipping rectangle.
Sets whether this control was created as part of its parent, for example when a scrollbar is part of a listbox.
SubElements are not saved to disk when calling guiEnvironment->saveGUI()
Definition at line 483 of file IGUIElement.h.
References IsSubElement.
Sets whether this element is a container for a group of elements which can be navigated using the tab key.
For example, windows are tab groups. Groups can be navigated using ctrl+tab, providing isTabStop is true.
Definition at line 547 of file IGUIElement.h.
References IsTabGroup.
Sets the priority of focus when using the tab key to navigate between a group of elements. See setTab-
Group, isTabGroup and getTabGroup for information on tab groups. Elements with a lower number are
focused first
Definition at line 510 of file IGUIElement.h.
If set to true, the focus will visit this element when using the tab key to cycle through elements. If this
element is a tab group (see isTabGroup/setTabGroup) then ctrl+tab will be used instead.
Definition at line 493 of file IGUIElement.h.
References IsTabStop.
the rectangle the element would prefer to be, if it was not constrained by parent or max/min size
Definition at line 884 of file IGUIElement.h.
Referenced by IGUIElement(), move(), serializeAttributes(), setAlignment(), setRelativePosition(), and
updateAbsolutePosition().
GUI Environment.
Definition at line 929 of file IGUIElement.h.
Referenced by IGUIElement().
id
Definition at line 914 of file IGUIElement.h.
Referenced by getID(), IGUIElement(), serializeAttributes(), and setID().
is enabled?
Definition at line 899 of file IGUIElement.h.
Referenced by IGUIElement(), isEnabled(), serializeAttributes(), and setEnabled().
is visible?
Definition at line 896 of file IGUIElement.h.
Referenced by draw(), getElementFromPoint(), IGUIElement(), isVisible(), OnPostRender(), serialize-
Attributes(), and setVisible().
tab order
Definition at line 920 of file IGUIElement.h.
Referenced by deserializeAttributes(), getTabOrder(), IGUIElement(), serializeAttributes(), and setTab-
Order().
caption
Definition at line 908 of file IGUIElement.h.
Referenced by getText(), and setText().
tooltip
Definition at line 911 of file IGUIElement.h.
Referenced by getToolTipText(), and setToolTipText().
type of element
Definition at line 932 of file IGUIElement.h.
Referenced by getType(), getTypeName(), and IGUIElement().
The documentation for this class was generated from the following file:
• IGUIElement.h
irr::IReferenceCounted
irr::gui::IGUIElementFactory
• virtual ∼IGUIElementFactory ()
adds a GUI element to the GUI Environment based on its type name
Parameters:
typeName: Type name of the element to add.
parent: Parent scene node of the new element, can be null to add it to the root.
Returns:
Returns pointer to the new element or null if not successful.
Parameters:
type: Type of the element to add.
parent: Parent scene node of the new element, can be null to add to the root.
Returns:
Returns pointer to the new element or null if not successful.
Parameters:
idx: Index of the element type in this factory. Must be a value between 0 and getCreatable-
GUIElementTypeCount()
Parameters:
type: Type of GUI element.
Returns:
: Returns name of the type if this factory can create the type, otherwise 0.
Parameters:
idx: Index of the type in this factory. Must be a value between 0 and getCreatableGUIElementType-
Count()
The documentation for this class was generated from the following file:
• IGUIElementFactory.h
irr::IReferenceCounted
irr::gui::IGUIEnvironment
• virtual IGUICheckBox ∗ addCheckBox (bool checked, const core::rect< s32 > &rectangle, IGU-
IElement ∗parent=0, s32 id=-1, const wchar_t ∗text=0)=0
Adds a checkbox element.
• virtual IGUIEditBox ∗ addEditBox (const wchar_t ∗text, const core::rect< s32 > &rectangle, bool
border=true, IGUIElement ∗parent=0, s32 id=-1)=0
Adds an edit box.
• virtual IGUIImage ∗ addImage (const core::rect< s32 > &rectangle, IGUIElement ∗parent=0, s32
id=-1, const wchar_t ∗text=0)=0
Adds an image element.
• virtual IGUIImage ∗ addImage (video::ITexture ∗image, core::position2d< s32 > pos, bool use-
AlphaChannel=true, IGUIElement ∗parent=0, s32 id=-1, const wchar_t ∗text=0)=0
Adds an image element.
• virtual IGUIListBox ∗ addListBox (const core::rect< s32 > &rectangle, IGUIElement ∗parent=0,
s32 id=-1, bool drawBackground=false)=0
Adds a list box element.
• virtual IGUIWindow ∗ addMessageBox (const wchar_t ∗caption, const wchar_t ∗text=0, bool
modal=true, s32 flags=EMBF_OK, IGUIElement ∗parent=0, s32 id=-1)=0
Adds a message box.
• virtual IGUISpinBox ∗ addSpinBox (const wchar_t ∗text, const core::rect< s32 > &rectangle, IGU-
IElement ∗parent=0, s32 id=-1)=0
Adds a spin box.
• virtual IGUIStaticText ∗ addStaticText (const wchar_t ∗text, const core::rect< s32 > &rect-
angle, bool border=false, bool wordWrap=true, IGUIElement ∗parent=0, s32 id=-1, bool fill-
Background=false)=0
Adds a static text.
• virtual IGUITab ∗ addTab (const core::rect< s32 > &rectangle, IGUIElement ∗parent=0, s32 id=-
1)=0
Adds tab to the environment.
• virtual IGUIWindow ∗ addWindow (const core::rect< s32 > &rectangle, bool modal=false, const
wchar_t ∗text=0, IGUIElement ∗parent=0, s32 id=-1)=0
Adds an empty window element.
• virtual ∼IGUIEnvironment ()
destructor
GUI Environment. Used as factory and manager of all other GUI elements.
Definition at line 60 of file IGUIEnvironment.h.
destructor
Definition at line 65 of file IGUIEnvironment.h.
Parameters:
rectangle Position and dimension of the button.
parent Parent gui element of the button.
id Id with which the gui element can be identified.
text Text displayed on the button.
tooltiptext Text displayed in the tooltip.
Returns:
Pointer to the created button. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Parameters:
checked Define the initial state of the check box.
rectangle Position and dimension of check box.
parent Parent gui element of the check box.
id Id to identify the gui element.
text Title text of the check box.
Returns:
Pointer to the created check box. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Parameters:
title The title of the dialog.
modal Defines if the dialog is modal. This means, that all other gui elements which were created
before the dialog cannot be used until it is removed.
parent The parent of the dialog.
id The ID of the dialog.
Returns:
Pointer to the created file open dialog. Returns 0 if an error occured. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.
Parameters:
rectangle Position and dimension of the combo box.
parent Parent item of the element, e.g. a window. Set it to 0 to place the combo box directly in the
environment.
id An identifier for the combo box.
Returns:
Pointer to the created combo box. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Parameters:
rectangle Position and dimension of the menu. Note that the menu is resizing itself based on what
items you add.
parent Parent item of the element, e.g. a window. Set it to 0 to place the menu directly in the
environment.
id An identifier for the menu.
Returns:
Pointer to the created context menu. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Parameters:
text Text to be displayed. Can be altered after creation by setText().
rectangle Position and dimension of the edit box.
border Set to true if the edit box should have a 3d border.
parent Parent item of the element, e.g. a window. Set it to 0 to place the edit box directly in the
environment.
id The ID of the element.
Returns:
Pointer to the created edit box. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Parameters:
name Name of the new sprite bank.
Returns:
Pointer to the sprite bank. This pointer should not be dropped. See IReferenceCounted::drop() for
more information.
Parameters:
title Text to be displayed as the title of the dialog.
modal Defines if the dialog is modal. This means, that all other gui elements which were created
before the message box cannot be used until this messagebox is removed.
parent Parent gui element of the dialog.
id Id to identify the gui element.
Returns:
Pointer to the created file open dialog. Returns 0 if an error occured. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.
Parameters:
rectangle Position and dimension of the image.
Returns:
Pointer to the created image element. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Parameters:
image Image to be displayed.
pos Position of the image. The width and height of the image is taken from the image.
useAlphaChannel Sets if the image should use the alpha channel of the texture to draw itself.
parent Parent gui element of the image.
id Id to identify the gui element.
text Title text of the image.
Returns:
Pointer to the created image element. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Parameters:
rectangle Position and dimension of list box.
parent Parent gui element of the list box.
id Id to identify the gui element.
drawBackground Flag whether the background should be drawn.
Returns:
Pointer to the created list box. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Parameters:
rectangle Position and dimension of mesh viewer.
parent Parent gui element of the mesh viewer.
id Id to identify the gui element.
text Title text of the mesh viewer.
Returns:
Pointer to the created mesh viewer. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Parameters:
caption Text to be displayed the title of the message box.
text Text to be displayed in the body of the message box.
modal Defines if the dialog is modal. This means, that all other gui elements which were created
before the message box cannot be used until this messagebox is removed.
flags Flags specifying the layout of the message box. For example to create a message box with an
OK and a CANCEL button on it, set this to (EMBF_OK | EMBF_CANCEL).
parent Parent gui element of the message box.
id Id with which the gui element can be identified.
Returns:
Pointer to the created message box. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Parameters:
parent Parent gui element of the modal.
Returns:
Pointer to the created modal. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Adds a scrollbar.
Parameters:
horizontal Specifies if the scroll bar is drawn horizontal or vertical.
rectangle Position and dimension of the scroll bar.
parent Parent gui element of the scroll bar.
id Id to identify the gui element.
Returns:
Pointer to the created scrollbar. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Parameters:
text Text to be displayed. Can be altered after creation by setText().
rectangle Position and dimension of the spin box.
parent Parent item of the element, e.g. a window. Set it to 0 to place the spin box directly in the
environment.
id The ID of the element.
Returns:
Pointer to the created spin box. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Parameters:
text Text to be displayed. Can be altered after creation by SetText().
rectangle Position and dimension of the static text.
border Set to true if the static text should have a 3d border.
wordWrap Enable if the text should wrap into multiple lines.
parent Parent item of the element, e.g. a window.
Returns:
Pointer to the created static text. Returns 0 if an error occured. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Parameters:
rectangle Position and dimension of the tab.
parent Parent item of the element, e.g. a window. Set it to 0 to place the tab directly in the environ-
ment.
id An identifier for the tab.
Returns:
Pointer to the created tab. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Parameters:
rectangle Position and dimension of the tab control.
parent Parent item of the element, e.g. a window. Set it to 0 to place the tab control directly in the
environment.
fillbackground Specifies if the background of the tab control should be drawn.
border Specifies if a flat 3d border should be drawn. This is usually not necessary unless you place
the control directly into the environment without a window as parent.
id An identifier for the tab control.
Returns:
Pointer to the created tab control element. Returns 0 if an error occured. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.
Parameters:
parent Parent item of the element, e.g. a window. Set it to 0 to place the tool bar directly in the
environment.
id An identifier for the tool bar.
Returns:
Pointer to the created tool bar. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Parameters:
rectangle Position and dimension of the window.
modal Defines if the dialog is modal. This means, that all other gui elements which were created
before the window cannot be used until it is removed.
text Text displayed as the window title.
parent Parent gui element of the window.
id Id with which the gui element can be identified.
Returns:
Pointer to the created window. Returns 0 if an error occured. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Parameters:
type The type of the new skin.
Returns:
Pointer to the created skin. If you no longer need it, you should call IGUISkin::drop(). See IReference-
Counted::drop() for more information.
Draws all gui elements by traversing the GUI environment starting at the root node.
Returns:
Pointer to the default built-in font. This pointer should not be dropped. See IReferenceCounted::drop()
for more information.
Returns the default element factory which can create all built in elements.
Returns:
Pointer to the factory. This pointer should not be dropped. See IReferenceCounted::drop() for more
information.
Returns:
Pointer to the file system.
Returns:
Pointer to the element with focus.
Parameters:
filename Filename of the Font.
Returns:
Pointer to the font. Returns 0 if the font could not be loaded. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Returns:
Pointer to the OS operator.
Returns:
Amount of registered gui element factories.
Returns:
Pointer to the root element of the GUI. The returned pointer should not be dropped. See IReference-
Counted::drop() for more information.
Returns:
Pointer to the GUI skin.
Returns pointer to the sprite bank with the specified file name.
Loads the bank if it was not loaded before.
Parameters:
filename Filename of the sprite bank’s origin.
Returns:
Pointer to the sprite bank. Returns 0 if it could not be loaded. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Returns:
Pointer to the video driver.
Parameters:
element Pointer to the element which is tested.
Returns:
True if the element has focus, else false.
Loads the gui. Note that the current gui is not cleared before.
Parameters:
file The file to load from.
parent Parent for the loaded GUI, root if 0.
Loads the gui. Note that the current gui is not cleared before.
Parameters:
filename Name of the file .
parent Parent for the loaded GUI, root if 0.
Parameters:
event The event to post.
Returns:
True if succeeded, else false.
reads an element
Parameters:
factoryToAdd Pointer to new factory.
Parameters:
element Pointer to the element which shall lose the focus.
Returns:
True on success, false on failure
Parameters:
file The file to write to.
start The GUIElement to start with. Root if 0.
Parameters:
filename Name of the file.
start The GUIElement to start with. Root if 0.
Parameters:
element Pointer to the element which shall get the focus.
Returns:
True on success, false on failure
Parameters:
skin New skin to use.
Parameters:
evr Pointer to the new receiver.
writes an element
The documentation for this class was generated from the following file:
• IGUIEnvironment.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIFileOpenDialog
• virtual ∼IGUIFileOpenDialog ()
destructor
constructor
Definition at line 21 of file IGUIFileOpenDialog.h.
References irr::gui::EGUIET_FILE_OPEN_DIALOG.
destructor
Definition at line 25 of file IGUIFileOpenDialog.h.
Returns the filename of the selected file. Returns NULL, if no file was selected.
The documentation for this class was generated from the following file:
• IGUIFileOpenDialog.h
irr::IReferenceCounted
irr::gui::IGUIFont
irr::gui::IGUIFontBitmap
• virtual s32 getKerningWidth (const wchar_t ∗thisLetter=0, const wchar_t ∗previousLetter=0) const
=0
Gets kerning values (distance between letters) for the font. If no parameters are provided,.
• virtual ∼IGUIFont ()
Destructor.
Font interface.
Definition at line 38 of file IGUIFont.h.
Destructor.
Definition at line 43 of file IGUIFont.h.
7.33.3.1 virtual void irr::gui::IGUIFont::draw (const wchar_t ∗ text, const core::rect< s32 > &
position, video::SColor color, bool hcenter = false, bool vcenter = false, const
core::rect< s32 > ∗ clip = 0) [pure virtual]
Parameters:
text: Text to draw
position: Rectangle specifying position where to draw the text.
color: Color of the text
hcenter: Specifiies if the text should be centered horizontally into the rectangle.
vcenter: Specifiies if the text should be centered vertically into the rectangle.
clip: Optional pointer to a rectangle against which the text will be clipped. If the pointer is null, no
clipping will be done.
Calculates the index of the character in the text which is on a specific position.
Parameters:
text: Text string.
pixel_x: X pixel position of which the index of the character will be returned.
Returns:
Returns zero based index of the character in the text, and -1 if no no character is on this position. (=the
text is too short).
Returns:
Returns width and height of the area covered by the text if it would be drawn.
Gets kerning values (distance between letters) for the font. If no parameters are provided,.
the global kerning distance is returned.
Parameters:
thisLetter: If this parameter is provided, the left side kerning for this letter is added to the global
kerning value. For example, a space might only be one pixel wide, but it may be displayed as
several pixels.
previousLetter: If provided, kerning is calculated for both letters and added to the global kerning
value. For example, in a font which supports kerning pairs a string such as ’Wo’ may have the
’o’ tucked neatly under the ’W’.
Implemented in irr::gui::IGUIFontBitmap.
• IGUIFont.h
irr::IReferenceCounted
irr::gui::IGUIFont
irr::gui::IGUIFontBitmap
• virtual s32 getKerningWidth (const wchar_t ∗thisLetter=0, const wchar_t ∗previousLetter=0) const
=0
Gets kerning values (distance between letters) for the font. If no parameters are provided,.
• virtual ∼IGUIFontBitmap ()
Destructor.
Font interface.
Definition at line 17 of file IGUIFontBitmap.h.
Destructor.
Definition at line 22 of file IGUIFontBitmap.h.
Gets kerning values (distance between letters) for the font. If no parameters are provided,.
the global kerning distance is returned.
Parameters:
thisLetter: If this parameter is provided, the left side kerning for this letter is added to the global
kerning value. For example, a space might only be one pixel wide, but it may be displayed as
several pixels.
previousLetter: If provided, kerning is calculated for both letters and added to the global kerning
value. For example, EGFT_BITMAP will add the right kerning value of previousLetter to the
left side kerning value of thisLetter, then add the global value.
Implements irr::gui::IGUIFont.
• IGUIFontBitmap.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIImage
• virtual ∼IGUIImage ()
destructor
constructor
Definition at line 25 of file IGUIImage.h.
References irr::gui::EGUIET_IMAGE.
destructor
Definition at line 29 of file IGUIImage.h.
Returns true if the image is using the alpha channel, false if not.
Sets an image.
Sets if the image should use its alpha channel to draw itself.
The documentation for this class was generated from the following file:
• IGUIImage.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIInOutFader
• IGUIInOutFader (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor
constructor
Definition at line 32 of file IGUIInOutFader.h.
References irr::gui::EGUIET_IN_OUT_FADER.
destructor
Definition at line 36 of file IGUIInOutFader.h.
Starts the fade in process. In the beginning the whole rect is drawn by the set color (black by default) and
at the end of the overgiven time the color has faded out.
Parameters:
time: Time specifing how long it should need to fade in, in milliseconds.
Starts the fade out process. In the beginning everything is visible, and at the end of the time only the set
color (black by the fault) will be drawn.
Parameters:
time: Time specifing how long it should need to fade out, in milliseconds.
Parameters:
color: Color to where it is faded out od from it is faded in.
The documentation for this class was generated from the following file:
• IGUIInOutFader.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIListBox
• IGUIListBox (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor
• virtual s32 insertItem (u32 index, const wchar_t ∗text, s32 icon)=0
• virtual bool isAutoScrollEnabled () const =0
returns true if automatic scrolling is enabled, false if not.
• virtual ∼IGUIListBox ()
destructor
constructor
destructor
Definition at line 43 of file IGUIListBox.h.
7.37.3.1 virtual u32 irr::gui::IGUIListBox::addItem (const wchar_t ∗ text, s32 icon) [pure
virtual]
Returns:
returns the id of the new created item
return the default color which is used for the given colorType
7.37.3.13 virtual s32 irr::gui::IGUIListBox::insertItem (u32 index, const wchar_t ∗ text, s32 icon)
[pure virtual]
Insert the item at the given index Return the index on success or -1 on failure.
set whether the listbox should scroll to show a newly selected item or a new item as it is added to the list.
7.37.3.17 virtual void irr::gui::IGUIListBox::setItem (u32 index, const wchar_t ∗ text, s32 icon)
[pure virtual]
Sets the sprite bank which should be used to draw list icons. This font is set to the sprite bank of the
built-in-font by default. A sprite can be displayed in front of every list item. An icon is an index within the
icon sprite bank. Several default icons are available in the skin through getIcon
• IGUIListBox.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIMeshViewer
• virtual ∼IGUIMeshViewer ()
destructor
constructor
Definition at line 32 of file IGUIMeshViewer.h.
References irr::gui::EGUIET_MESH_VIEWER.
destructor
Definition at line 36 of file IGUIMeshViewer.h.
• IGUIMeshViewer.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIScrollBar
• IGUIScrollBar (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor
constructor
Definition at line 21 of file IGUIScrollBar.h.
References irr::gui::EGUIET_SCROLL_BAR.
destructor
Definition at line 25 of file IGUIScrollBar.h.
Sets the large step, the amount that the value changes by when clicking in the tray, or using the page up
and page down keys.
Sets the small step, the amount that the value changes by when clicking on the buttons or using the cursor
keys.
The documentation for this class was generated from the following file:
• IGUIScrollBar.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::gui::IGUISkin
• virtual void draw3DButtonPanePressed (IGUIElement ∗element, const core::rect< s32 > &rect,
const core::rect< s32 > ∗clip=0)=0
draws a pressed 3d button pane
• virtual void draw3DButtonPaneStandard (IGUIElement ∗element, const core::rect< s32 > &rect,
const core::rect< s32 > ∗clip=0)=0
draws a standard 3d button pane
• virtual void draw3DMenuPane (IGUIElement ∗element, const core::rect< s32 > &rect, const
core::rect< s32 > ∗clip=0)=0
draws a standard 3d menu pane
• virtual void draw3DSunkenPane (IGUIElement ∗element, video::SColor bgcolor, bool flat, bool fill-
BackGround, const core::rect< s32 > &rect, const core::rect< s32 > ∗clip=0)=0
draws a sunken 3d pane
• virtual void draw3DTabBody (IGUIElement ∗element, bool border, bool background, const
core::rect< s32 > &rect, const core::rect< s32 > ∗clip=0)=0
draws a tab control body
• virtual void draw3DTabButton (IGUIElement ∗element, bool active, const core::rect< s32 > &rect,
const core::rect< s32 > ∗clip=0)=0
draws a tab button
• virtual void draw3DToolBar (IGUIElement ∗element, const core::rect< s32 > &rect, const
core::rect< s32 > ∗clip=0)=0
draws a standard 3d tool bar
• virtual ∼IGUISkin ()
destructor
destructor
Definition at line 329 of file IGUISkin.h.
draws a 2d rectangle.
Parameters:
element: Pointer to the element which wishes to draw this icon. This parameter is usually not used
by IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
color: Color of the rectangle to draw. The alpha component specifies how transparent the rectangle
will be.
pos: Position of the rectangle.
clip: Pointer to rectangle against which the rectangle will be clipped. If the pointer is null, no clipping
will be performed.
Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
rect: Defining area where to draw.
clip: Clip area.
Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
rect: Defining area where to draw.
clip: Clip area.
Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
rect: Defining area where to draw.
clip: Clip area.
Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
bgcolor: Background color.
flat: Specifies if the sunken pane should be flat or displayed as sunken deep into the ground.
fillBackGround: Specifies if the background should be filled with the background color or not be
drawn at all.
rect: Defining area where to draw.
clip: Clip area.
Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
border: Specifies if the border should be drawn.
background: Specifies if the background should be drawn.
rect: Defining area where to draw.
clip: Clip area.
Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
active: Specifies if the tab is currently active.
rect: Defining area where to draw.
clip: Clip area.
Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
rect: Defining area where to draw.
clip: Clip area.
Parameters:
element: Pointer to the element which wishes to draw this. This parameter is usually not used by
IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
titleBarColor: Title color.
drawTitleBar: True to enable title drawing.
rect: Defining area where to draw.
clip: Clip area.
Returns:
Returns rect where it would be good to draw title bar text.
Parameters:
element: Pointer to the element which wishes to draw this icon. This parameter is usually not used
by IGUISkin, but can be used for example by more complex implementations to find out how to
draw the part exactly.
icon: Specifies the icon to be drawn.
position: The position to draw the icon
starttime: The time at the start of the animation
currenttime: The present time, used to calculate the frame number
loop: Whether the animation should loop or not
clip: Clip area.
Parameters:
icon: Enum specifying which icon to change
index: The sprite index used to draw this icon
• IGUISkin.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUISpinBox
• IGUISpinBox (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor
• virtual ∼IGUISpinBox ()
destructor
constructor
Definition at line 22 of file IGUISpinBox.h.
References irr::gui::EGUIET_SPIN_BOX.
destructor
Definition at line 27 of file IGUISpinBox.h.
Parameters:
places: The number of decimal places to display, use -1 to reset
7.41.3.7 virtual void irr::gui::IGUISpinBox::setRange (f32 min, f32 max) [pure virtual]
Parameters:
min: minimum value
max: maximum value
Step size by which values are changed when pressing the spinbuttons.
The step size also determines the number of decimal places to display
Parameters:
step: stepsize used for value changes when pressing spinbuttons
Parameters:
val: value to be set in the spinbox
The documentation for this class was generated from the following file:
• IGUISpinBox.h
irr::IReferenceCounted
irr::gui::IGUISpriteBank
• virtual void draw2DSprite (u32 index, const core::position2di &pos, const core::rect< s32 >
∗clip=0, const video::SColor &color=video::SColor(255, 255, 255, 255), u32 starttime=0, u32 cur-
renttime=0, bool loop=true, bool center=false)=0
Draws a sprite in 2d with position and color.
• virtual ∼IGUISpriteBank ()
Destructor.
Destructor.
Definition at line 46 of file IGUISpriteBank.h.
• IGUISpriteBank.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIStaticText
• IGUIStaticText (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor
• virtual ∼IGUIStaticText ()
destructor
constructor
Definition at line 23 of file IGUIStaticText.h.
References irr::gui::EGUIET_STATIC_TEXT.
destructor
Definition at line 27 of file IGUIStaticText.h.
Sets if the static text should use the overide color or the color in the gui skin.
Parameters:
enable: If set to true, the override color, which can be set with IGUIStaticText::setOverrideColor is
used, otherwise the EGDC_BUTTON_TEXT color of the skin.
Returns:
: The override color
Returns:
The override font (may be 0)
Returns:
The width of the text, or the widest broken line.
Returns:
true if word wrap is enabled, false otherwise
Parameters:
color: New color of the text.
Parameters:
font: New font to set.
Parameters:
horizontal: EGUIA_UPPERLEFT for left justified (default), EGUIA_LOWEERRIGHT for right jus-
tified, or EGUIA_CENTER for centered text.
vertical: EGUIA_UPPERLEFT to align with top edge, EGUIA_LOWEERRIGHT for bottom edge,
or EGUIA_CENTER for centered text (default).
Enables or disables word wrap for using the static text as multiline text control.
Parameters:
enable: If set to true, words going over one line are broken on to the next line.
The documentation for this class was generated from the following file:
• IGUIStaticText.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUITab
• IGUITab (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 > rectan-
gle)
constructor
• virtual ∼IGUITab ()
destructor
constructor
Definition at line 21 of file IGUITabControl.h.
References irr::gui::EGUIET_TAB.
destructor
Definition at line 25 of file IGUITabControl.h.
• IGUITabControl.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUITabControl
• IGUITabControl (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor
• virtual ∼IGUITabControl ()
destructor
constructor
Definition at line 50 of file IGUITabControl.h.
References irr::gui::EGUIET_TAB_CONTROL.
destructor
Definition at line 54 of file IGUITabControl.h.
Adds a tab.
Parameters:
idx: zero based index of tab. Is a value betwenn 0 and getTabcount()-1;
Returns:
Returns pointer to the Tab. Returns 0 if no tab is corresponding to this tab.
Parameters:
tab: pointer to the tab.
Returns:
Returns true if successful.
Parameters:
idx: number of the tab.
Returns:
Returns true if successful.
The documentation for this class was generated from the following file:
• IGUITabControl.h
Stays at the top of its parent like the menu bar and contains tool buttons.
#include <IGUIToolbar.h>
Inheritance diagram for irr::gui::IGUIToolBar::
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIToolBar
• virtual IGUIButton ∗ addButton (s32 id=-1, const wchar_t ∗text=0, const wchar_t ∗tooltiptext=0,
video::ITexture ∗img=0, video::ITexture ∗pressedimg=0, bool isPushButton=false, bool useAlpha-
Channel=false)=0
Adds a button to the tool bar.
• IGUIToolBar (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor
• virtual ∼IGUIToolBar ()
destructor
Stays at the top of its parent like the menu bar and contains tool buttons.
Definition at line 21 of file IGUIToolbar.h.
constructor
Definition at line 26 of file IGUIToolbar.h.
References irr::gui::EGUIET_TOOL_BAR.
destructor
Definition at line 30 of file IGUIToolbar.h.
• IGUIToolbar.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject irr::IEventReceiver
irr::gui::IGUIElement
irr::gui::IGUIWindow
• IGUIWindow (IGUIEnvironment ∗environment, IGUIElement ∗parent, s32 id, core::rect< s32 >
rectangle)
constructor
• virtual ∼IGUIWindow ()
destructor
Default moveable window GUI element with border, caption and close icons.
Definition at line 18 of file IGUIWindow.h.
constructor
destructor
Definition at line 27 of file IGUIWindow.h.
• IGUIWindow.h
irr::IReferenceCounted
irr::video::IImage
• virtual void copyToScaling (void ∗target, s32 width, s32 height, ECOLOR_FORMAT format=ECF_-
A8R8G8B8, u32 pitch=0)=0
Copies the image into the target, scaling the image to fit.
• virtual ∼IImage ()
Destructor.
Destructor.
Definition at line 47 of file IImage.h.
Copies the image into the target, scaling the image to fit.
7.48.3.2 virtual void irr::video::IImage::copyToScaling (void ∗ target, s32 width, s32 height,
ECOLOR_FORMAT format = ECF_A8R8G8B8, u32 pitch = 0) [pure virtual]
Copies the image into the target, scaling the image to fit.
Returns a pixel.
Returns:
Pointer to the image data. What type of data is pointed to depends on the color format of the image.
For example if the color format is ECF_A8R8G8B8, it is of u32. Be sure to call unlock() after you
don’t need the pointer any more.
7.48.3.16 virtual void irr::video::IImage::setPixel (u32 x, u32 y, const SColor & color) [pure
virtual]
Sets a pixel.
Unlock function.
Should be called after the pointer received by lock() is not needed anymore.
The documentation for this class was generated from the following file:
• IImage.h
irr::IReferenceCounted
irr::video::IImageLoader
• virtual ∼IImageLoader ()
Destructor.
Destructor.
Definition at line 30 of file IImageLoader.h.
Parameters:
fileName Name of file to check.
Returns:
True if file seems to be loadable.
Parameters:
file File handle to check.
Returns:
True if file seems to be loadable.
Parameters:
file File handle to check.
Returns:
Pointer to newly created image, or 0 upon error.
The documentation for this class was generated from the following file:
• IImageLoader.h
irr::IReferenceCounted
irr::video::IImageWriter
• virtual bool writeImage (io::IWriteFile ∗file, IImage ∗image, u32 param=0) const =0
Write image to file.
• virtual ∼IImageWriter ()
Destructor.
Destructor.
Definition at line 27 of file IImageWriter.h.
Check if this writer can write a file with the given extension.
Parameters:
fileName Name of the file to check.
Returns:
True if file extension specifies a writable type.
Parameters:
file File handle to write to.
image Image to write into file.
param Writer specific parameter, influencing e.g. quality.
Returns:
True if image was successfully written.
The documentation for this class was generated from the following file:
• IImageWriter.h
• virtual ∼IIrrXMLReader ()
Destructor.
#include <irrXML.h>
using namespace irr; // irrXML is located in the namespace irr::io
using namespace io;
void main()
{
// create the reader using one of the factory functions
IrrXMLReader* xml = createIrrXMLReader("config.xml");
if (xml == 0)
return; // file could not be opened
Destructor.
Returns:
Returns amount of attributes of this xml node.
Parameters:
idx: Zero based index, should be something between 0 and getAttributeCount()-1.
Returns:
Name of the attribute, 0 if an attribute with this index does not exist.
Parameters:
name: Name of the attribute.
Returns:
Value of the attribute, 0 if an attribute with this name does not exist.
Parameters:
idx: Zero based index, should be something between 0 and getAttributeCount()-1.
Returns:
Value of the attribute, 0 if an attribute with this index does not exist.
Parameters:
idx: Zero based index, should be something between 0 and getAttributeCount()-1.
Returns:
Value of the attribute as float, and 0 if an attribute with this index does not exist or the value could not
be interpreted as float.
Parameters:
name: Name of the attribute.
Returns:
Value of the attribute as float, and 0 if an attribute with this name does not exist or the value could not
be interpreted as float.
Parameters:
idx: Zero based index, should be something between 0 and getAttributeCount()-1.
Returns:
Value of the attribute as integer, and 0 if an attribute with this index does not exist or the value could
not be interpreted as integer.
Parameters:
name Name of the attribute.
Returns:
Value of the attribute as integer, and 0 if an attribute with this name does not exist or the value could
not be interpreted as integer.
Parameters:
name: Name of the attribute.
Returns:
Value of the attribute, and "" if an attribute with this name does not exist
Returns:
Name of the current node or 0 if the node has no name.
Returns:
Returns false, if there was no further node.
The documentation for this class was generated from the following file:
• irrXML.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::ILightSceneNode
• ILightSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df &posi-
tion=core::vector3df(0, 0, 0))
constructor
constructor
Returns:
The light data.
Returns:
The light data.
Parameters:
light The new light data.
The documentation for this class was generated from the following file:
• ILightSceneNode.h
irr::IReferenceCounted
irr::ILogger
• virtual void log (const wchar_t ∗text, const wchar_t ∗hint, ELOG_LEVEL ll=ELL_-
INFORMATION)=0
Prints out a text into the log.
• virtual ∼ILogger ()
Destructor.
Destructor.
Definition at line 36 of file ILogger.h.
Parameters:
text: Text to print out.
ll: Log level of the text. If the text is an error, set it to ELL_ERROR, if it is warning set it to ELL_-
WARNING, and if it is just an informational text, set it to ELL_INFORMATION. Texts are
filtered with these levels. If you want to be a text displayed, independent on what level filter is
set, use ELL_NONE.
7.53.3.3 virtual void irr::ILogger::log (const wchar_t ∗ text, const wchar_t ∗ hint, ELOG_LEVEL
ll = ELL_INFORMATION) [pure virtual]
Parameters:
text: Text to print out.
hint: Additional info. This string is added after a " :" to the string.
ll: Log level of the text. If the text is an error, set it to ELL_ERROR, if it is warning set it to ELL_-
WARNING, and if it is just an informational text, set it to ELL_INFORMATION. Texts are
filtered with these levels. If you want to be a text displayed, independent on what level filter is
set, use ELL_NONE.
Parameters:
text: Text to print out.
hint: Additional info. This string is added after a " :" to the string.
ll: Log level of the text. If the text is an error, set it to ELL_ERROR, if it is warning set it to ELL_-
WARNING, and if it is just an informational text, set it to ELL_INFORMATION. Texts are
filtered with these levels. If you want to be a text displayed, independent on what level filter is
set, use ELL_NONE.
Parameters:
text: Text to print out.
ll: Log level of the text. If the text is an error, set it to ELL_ERROR, if it is warning set it to ELL_-
WARNING, and if it is just an informational text, set it to ELL_INFORMATION. Texts are
filtered with these levels. If you want to be a text displayed, independent on what level filter is
set, use ELL_NONE.
Parameters:
ll: new log level filter value.
The documentation for this class was generated from the following file:
• ILogger.h
irr::IReferenceCounted
irr::video::IMaterialRenderer
• virtual void OnSetMaterial (const SMaterial &material, const SMaterial &lastMaterial, bool reset-
AllRenderstates, IMaterialRendererServices ∗services)
Called by the IVideoDriver implementation the let the renderer set its needed render states.
• virtual ∼IMaterialRenderer ()
Destructor.
Destructor.
Called every time before a new bunch of geometry is being drawn using this material with for example
drawIndexedTriangleList() call.
OnSetMaterial should normally only be called if the renderer decides that the renderstates should be
changed, it won’t be called if for example two drawIndexedTriangleList() will be called with the same
material set. This method will be called every time. This is useful for example for materials with shaders,
which don’t only set new renderstates but also shader constants.
Parameters:
service: Pointer to interface providing methos for setting constants and other things.
vtxtype: Vertex type with which the next rendering will be done. This can be used by the material
renderer to set some specific optimized shaders or if this is an incompatible vertex type for this
renderer, to refuse rendering for example.
Returns:
Returns true if everything is ok, and false if nothing should be rendered. The material renderer can
choose to return false for example if he doesn’t support the specified vertex type. This is actually
done in D3D8 and D3D9 when using a normal mapped material with a vertex type other than EVT_-
TANGENTS.
Called by the IVideoDriver implementation the let the renderer set its needed render states.
This is called during the IVideoDriver::setMaterial() call. When overriding this, you can set some render-
states or for example a vertex or pixel shader if you like.
Parameters:
material: The new material parameters to be set. The renderer may change the material flags in this
material. For example if this material does not accept the zbuffer = true, it can set it to false. This
is useful, because in the next lastMaterial will be just the material in this call.
lastMaterial: The material parameters which have been set before this material.
resetAllRenderstates: True if all renderstates should really be reset. This is usually true if the last
rendering mode was not a usual 3d rendering mode, but for example a 2d rendering mode. You
should reset really all renderstates if this is true, no matter if the lastMaterial had some similar
settings. This is used because in most cases, some common renderstates are not changed if they
are already there, for example bilinear filtering, wireframe, gouraudshading, lighting, zbuffer,
zwriteenable, backfaceculling and fogenable.
services: Interface providing some methods for changing advanced, internal states of a IVideoDriver.
• IMaterialRenderer.h
Interface providing some methods for changing advanced, internal states of a IVideoDriver.
#include <IMaterialRendererServices.h>
• virtual void setBasicRenderStates (const SMaterial &material, const SMaterial &lastMaterial, bool
resetAllRenderstates)=0
Can be called by an IMaterialRenderer to make its work easier.
• virtual void setPixelShaderConstant (const f32 ∗data, s32 startRegister, s32 constantAmount=1)=0
Sets a pixel shader constant.
• virtual bool setPixelShaderConstant (const c8 ∗name, const f32 ∗floats, int count)=0
Sets a constant for the pixel shader based on a name.
• virtual void setVertexShaderConstant (const f32 ∗data, s32 startRegister, s32 constant-
Amount=1)=0
Sets a vertex shader constant.
• virtual bool setVertexShaderConstant (const c8 ∗name, const f32 ∗floats, int count)=0
Sets a constant for the vertex shader based on a name.
• virtual ∼IMaterialRendererServices ()
Destructor.
Interface providing some methods for changing advanced, internal states of a IVideoDriver.
Definition at line 21 of file IMaterialRendererServices.h.
Destructor.
Definition at line 26 of file IMaterialRendererServices.h.
Returns:
Pointer to the IVideoDriver interface
Parameters:
material The new material to be used.
lastMaterial The material used until now.
resetAllRenderstates Set to true if all renderstates should be set, regardless of their current state.
Parameters:
data Data to be set in the constants
startRegister First register to be set.
constantAmount Amount of registers to be set. One register consists of 4 floats.
Parameters:
name Name of the variable
floats Pointer to array of floats
Returns:
True if successful.
Parameters:
data: Data to be set in the constants
startRegister: First register to be set
constantAmount: Amount of registers to be set. One register consists of 4 floats.
core::matrix4 worldViewProj(driver->getTransform(video::ETS_PROJECTION));
worldViewProj *= driver->getTransform(video::ETS_VIEW);
worldViewProj *= driver->getTransform(video::ETS_WORLD);
services->setVertexShaderConstant("mWorldViewProj", worldViewProj.M, 16);
}
Parameters:
name Name of the variable
floats Pointer to array of floats
count Amount of floats in array.
Returns:
True if successful.
The documentation for this class was generated from the following file:
• IMaterialRendererServices.h
irr::IReferenceCounted
irr::scene::IMesh
irr::scene::IAnimatedMesh irr::scene::SMesh
• virtual ∼IMesh ()
Destructor.
Destructor.
Definition at line 26 of file IMesh.h.
Returns:
A bounding box of this mesh is returned.
Parameters:
material: material to search for
Returns:
Returns the pointer to the mesh buffer or NULL if there is no such mesh buffer.
Parameters:
nr: Zero based index of the mesh buffer. The maximum value is getMeshBufferCount() - 1;
Returns:
Returns the pointer to the mesh buffer or NULL if there is no such mesh buffer.
Parameters:
box New bounding box to use for the mesh.
Parameters:
flag: Flag to set in all materials.
newvalue: New value to set in all materials.
• IMesh.h
irr::IReferenceCounted
irr::scene::IMeshBuffer
• virtual void append (const void ∗const vertices, u32 numVertices, const u16 ∗const indices, u32
numIndices)=0
Append the vertices and indices to the current buffer.
• virtual ∼IMeshBuffer ()
Destructor.
Destructor.
Definition at line 66 of file IMeshBuffer.h.
Parameters:
other Buffer to append to this one.
7.57.3.2 virtual void irr::scene::IMeshBuffer::append (const void ∗const vertices, u32 numVertices,
const u16 ∗const indices, u32 numIndices) [pure virtual]
Parameters:
vertices Pointer to a vertex array.
numVertices Number of vertices in the array.
indices Pointer to index array.
numIndices Number of indices in array.
Returns:
Axis aligned bounding box of this buffer.
Returns:
Number of indices in this buffer.
Returns:
Pointer to indices array.
Returns:
Pointer to indices array.
Returns:
Material of this buffer.
Returns:
Material of this buffer.
Returns:
Number of vertices in this buffer.
Returns:
Vertex type of this buffer.
Returns:
Pointer to array of vertices.
Returns:
Pointer to array of vertices.
Parameters:
box User defined axis aligned bounding box to use for this buffer.
• IMeshBuffer.h
irr::IReferenceCounted
irr::scene::IMeshCache
• virtual ∼IMeshCache ()
Destructor.
The mesh cache stores already loaded meshes and provides an interface to them.
You can access it using ISceneManager::getMeshCache(). All existing scene managers will return a pointer
to the same mesh cache, because it is shared between them. With this interface, it is possible to manually
add new loaded meshes (if ISceneManager::getMesh() is not sufficient), to remove them and to iterate
through already loaded meshes.
Definition at line 27 of file IMeshCache.h.
Destructor.
Definition at line 32 of file IMeshCache.h.
than one mesh with one call. They can add additional meshes with this method to the scene manager. The
COLLADA loader for example uses this method.
Parameters:
filename Filename of the mesh. When calling ISceneManager::getMesh() with this name it will return
the mesh set by this method.
mesh Pointer to a mesh which will now be referenced by this name.
Clears all meshes that are held in the mesh cache but not used anywhere else.
Warning: If you have pointers to meshes that were loaded with ISceneManager::getMesh() and you did not
grab them, then they may become invalid.
Parameters:
filename Name of the mesh.
Returns:
Pointer to the mesh or 0 if there is none with this number.
Parameters:
index: Index of the mesh, number between 0 and getMeshCount()-1. Note that this number is only
valid until a new mesh is loaded or removed.
Returns:
Pointer to the mesh or 0 if there is none with this number.
Returns:
Number of meshes in cache.
Parameters:
mesh Pointer to mesh to query.
Returns:
String with name if mesh was found and has a name, else 0.
Parameters:
mesh Pointer to mesh to query.
Returns:
String with name if mesh was found and has a name, else 0.
Parameters:
index: Index of the mesh, number between 0 and getMeshCount()-1.
Returns:
String with name if mesh was found and has a name, else 0.
Returns current index number of the mesh, and -1 if it is not in the cache.
Parameters:
mesh Pointer to the mesh to search for.
Returns:
Index of the mesh in the cache, or -1 if not found.
Returns current index number of the mesh, and -1 if it is not in the cache.
Parameters:
mesh Pointer to the mesh to search for.
Returns:
Index of the mesh in the cache, or -1 if not found.
Parameters:
filename Name of the mesh.
Returns:
True if the mesh has been loaded, else false.
Parameters:
mesh Pointer to the mesh which shall be removed.
Parameters:
mesh Pointer to the mesh which shall be removed.
Parameters:
mesh Mesh to be renamed.
filename New name for the mesh.
Returns:
True if mesh was renamed.
Parameters:
mesh Mesh to be renamed.
filename New name for the mesh.
Returns:
True if mesh was renamed.
Parameters:
index The index of the mesh in the cache.
filename New name for the mesh.
Returns:
True if mesh was renamed.
The documentation for this class was generated from the following file:
• IMeshCache.h
irr::IReferenceCounted
irr::scene::IMeshLoader
• virtual ∼IMeshLoader ()
Destructor.
Destructor.
Definition at line 30 of file IMeshLoader.h.
Parameters:
file File handler to load the file from.
Returns:
Pointer to the created mesh. Returns 0 if loading failed. If you no longer need the mesh, you should
call IAnimatedMesh::drop(). See IReferenceCounted::drop() for more information.
Parameters:
fileName Name of the file to test.
Returns:
True if the file might be loaded by this class.
The documentation for this class was generated from the following file:
• IMeshLoader.h
irr::IReferenceCounted
irr::scene::IMeshManipulator
• virtual ∼IMeshManipulator ()
Destructor.
Destructor.
Definition at line 35 of file IMeshManipulator.h.
Parameters:
mesh Input mesh
type The type of the animated mesh to create.
Returns:
Newly created animated mesh with mesh as it’s only content. When you don’t need the animated
mesh anymore, you should call IAnimatedMesh::drop(). See IReferenceCounted::drop() for more
information.
Parameters:
mesh: Mesh to copy.
Returns:
Returns the cloned mesh. If you no longer need the cloned mesh, you should call SMesh::drop(). See
IReferenceCounted::drop() for more information.
Parameters:
mesh Input mesh
Returns:
Mesh consisting only of unique faces. All vertices which were previously shared are now duplicated.
If you no longer need the cloned mesh, you should call IMesh::drop(). See IReferenceCounted::drop()
for more information.
Parameters:
mesh Input mesh
tolerance The threshold for vertex comparisons.
Returns:
Mesh without redundant vertices. If you no longer need the cloned mesh, you should call
IMesh::drop(). See IReferenceCounted::drop() for more information.
Creates a copy of the mesh, which will only consist of S3DVertex2TCoord vertices.
Parameters:
mesh Input mesh
Returns:
Mesh consisting only of S3DVertex2TCoord vertices. If you no longer need the cloned mesh, you
should call IMesh::drop(). See IReferenceCounted::drop() for more information.
Creates a copy of the mesh, which will only consist of S3DVertexTangents vertices.
This is useful if you want to draw tangent space normal mapped geometry because it calculates the tangent
and binormal data which is needed there.
Parameters:
mesh Input mesh
Returns:
Mesh consisting only of S3DVertexTangents vertices. If you no longer need the cloned mesh, you
should call IMesh::drop(). See IReferenceCounted::drop() for more information.
Parameters:
mesh Mesh on which the operation is performed.
Parameters:
mesh Input mesh
Returns:
Number of polygons in mesh.
Parameters:
mesh Input mesh
Returns:
Number of polygons in mesh.
Parameters:
mesh: Mesh on which the operation is performed.
resolution: resolution of the planar mapping. This is the value specifying which is the relation be-
tween world space and texture coordinate space.
Parameters:
buffer: Mesh buffer on which the operation is performed.
smooth: If the normals shall be smoothed.
Parameters:
mesh: Mesh on which the operation is performed.
smooth: If the normals shall be smoothed.
Parameters:
mesh: Mesh on which the operation is performed.
scale: Scale factor.
Sets the alpha vertex color value of the whole mesh to a new value.
Parameters:
mesh Mesh on which the operation is performed.
alpha New alpha value. Must be a value between 0 and 255.
Parameters:
mesh Mesh on which the operation is performed.
color New color.
Applies a transformation.
Parameters:
mesh: Mesh on which the operation is performed.
m: transformation matrix.
The documentation for this class was generated from the following file:
• IMeshManipulator.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::IMeshSceneNode
• IMeshSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df &posi-
tion, const core::vector3df &rotation, const core::vector3df &scale)
Constructor.
Constructor.
Returns:
Pointer to mesh which is displayed by this node.
Check if the scene node should not copy the materials of the mesh but use them in a read only style.
This flag can be set by setReadOnlyMaterials().
Returns:
Whether the materials are read-only.
Parameters:
mesh Mesh to display.
Sets if the scene node should not copy the materials of the mesh but use them in a read only style.
In this way it is possible to change the materials of a mesh causing all mesh scene nodes referencing this
mesh to change, too.
Parameters:
readonly Flag if the materials shall be read-only.
The documentation for this class was generated from the following file:
• IMeshSceneNode.h
irr::IReferenceCounted
irr::scene::IMeshWriter
• virtual ∼IMeshWriter ()
Destructor.
Destructor.
Definition at line 28 of file IMeshWriter.h.
Parameters:
file File handle to write the mesh to.
mesh Pointer to mesh to be written.
flags Optional flags to set properties of the writer.
Returns:
True if sucessful
The documentation for this class was generated from the following file:
• IMeshWriter.h
irr::IReferenceCounted
irr::scene::ITriangleSelector
irr::scene::IMetaTriangleSelector
Interface for making multiple triangle selectors work as one big selector.
This is nothing more than a collection of one or more triangle selectors providing together the interface of
one triangle selector. In this way, collision tests can be done with different triangle soups in one pass.
Definition at line 20 of file IMetaTriangleSelector.h.
Parameters:
toAdd: Pointer to an triangle selector to add to the list.
Parameters:
toRemove: Pointer to an triangle selector which is in the list but will be removed.
Returns:
True if successful, false if not.
The documentation for this class was generated from the following file:
• IMetaTriangleSelector.h
irr::IReferenceCounted
irr::IOSOperator
• virtual ∼IOSOperator ()
Destructor.
The Operating system operator provides operation system specific methods and informations.
Definition at line 14 of file IOSOperator.h.
Destructor.
Definition at line 19 of file IOSOperator.h.
Parameters:
MHz The integer variable to store the speed in.
Returns:
True if successful, false if not
Parameters:
Total: will contain the total system memory
Avail: will contain the available memory
Returns:
True if successful, false if not
Returns:
Returns 0 if no string is in there.
The documentation for this class was generated from the following file:
• IOSOperator.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleAffector
• IParticleAffector ()
constructor
Protected Attributes
• bool Enabled
constructor
Parameters:
now: Current time. (Same as ITimer::getTime() would return)
particlearray: Array of particles.
count: Amount of particles in array.
Reads attributes of the object. Implement this to set the attributes of your scene node animator for scripting
languages, editors, debuggers or xml deserialization purposes.
Parameters:
startIndex: start index where to start reading attributes.
in: The attributes to work with.
options: Additional options.
Returns:
: returns last index of an attribute read by this affector
Writes attributes of the object. Implement this to expose the attributes of your scene node animator for
scripting languages, editors, debuggers or xml serialization purposes.
Reimplemented from irr::io::IAttributeExchangingObject.
Definition at line 61 of file IParticleAffector.h.
• IParticleAffector.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleEmitter
irr::scene::IParticleAnimatedMeshSceneNodeEmitter
Gets whether to emit min<->max particles for every vertex per second, or to pick min<->max vertices
every second
Get the amount that the normal is divided by for getting a particles direction.
Sets whether to emit min<->max particles for every vertex per second, or to pick min<->max vertices
every second
Set the amount that the normal is divided by for getting a particles direction.
• IParticleAnimatedMeshSceneNodeEmitter.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleAffector
irr::scene::IParticleAttractionAffector
• IParticleAttractionAffector.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleEmitter
irr::scene::IParticleBoxEmitter
References irr::scene::EPET_BOX.
• IParticleBoxEmitter.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleEmitter
irr::scene::IParticleCylinderEmitter
Set the center of the radius for the cylinder, at one end of the cylinder.
• IParticleCylinderEmitter.h
irr::io::IAttributeExchangingObject
irr::scene::IParticleEmitter
Reads attributes of the object. Implement this to set the attributes of your scene node animator for scripting
languages, editors, debuggers or xml deserialization purposes.
Parameters:
startIndex: start index where to start reading attributes.
in: The attributes to work with.
options: Additional options.
Returns:
: returns last index of an attribute read by this affector
Prepares an array with new particles to emitt into the system and returns how much new particles there
are.
Parameters:
now: Current time.
timeSinceLastCall: Time elapsed since last call, in milliseconds.
outArray: Pointer which will point to the array with the new particles to add into the system.
Returns:
Returns amount of new particles in the array. Can be 0.
Get the maximum number of particles the emitter emits per second.
Get the minimum number of particles the emitter emits per second.
Writes attributes of the object. Implement this to expose the attributes of your scene node animator for
scripting languages, editors, debuggers or xml serialization purposes.
Reimplemented from irr::io::IAttributeExchangingObject.
Definition at line 91 of file IParticleEmitter.h.
• IParticleEmitter.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleAffector
irr::scene::IParticleFadeOutAffector
Gets the amount of time it takes for each particle to fade out.
Gets the targetColor, i.e. the color the particles will interpolate to over time.
Sets the amount of time it takes for each particle to fade out.
Sets the targetColor, i.e. the color the particles will interpolate to over time.
The documentation for this class was generated from the following file:
• IParticleFadeOutAffector.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleAffector
irr::scene::IParticleGravityAffector
Get the time in milliseconds when the gravity force is totally lost and the particle does not move any more.
Set the time in milliseconds when the gravity force is totally lost and the particle does not move any more.
The documentation for this class was generated from the following file:
• IParticleGravityAffector.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleEmitter
irr::scene::IParticleMeshEmitter
Gets whether to emit min<->max particles for every vertex per second, or to pick min<->max vertices
every second
Get the amount that the normal is divided by for getting a particles direction.
Sets whether to emit min<->max particles for every vertex per second, or to pick min<->max vertices
every second
Set the amount that the normal is divided by for getting a particles direction.
• IParticleMeshEmitter.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleEmitter
irr::scene::IParticleRingEmitter
• IParticleRingEmitter.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleAffector
irr::scene::IParticleRotationAffector
• IParticleRotationAffector.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::IParticleEmitter
irr::scene::IParticleSphereEmitter
• IParticleSphereEmitter.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::IParticleSystemSceneNode
A particle system scene node for creating snow, fire, exlosions, smoke...
A scene node controlling a particle System. The behavior of the particles can be controlling by setting the
right particle emitters and effectors. You can for example easily a campfire by doing this:
scene::IParticleSystemSceneNode* p = scenemgr->addParticleSystemSceneNode();
p->setParticleSize(core::dimension2d<f32>(20.0f, 10.0f));
scene::IParticleEmitter* em = p->createBoxEmitter(
core::aabbox3d<f32>(-5,0,-5,5,1,5),
core::vector3df(0.0f,0.03f,0.0f),
40,80, video::SColor(0,255,255,255),video::SColor(0,255,255,255), 1100,2000);
p->setEmitter(em);
em->drop();
scene::IParticleAffector* paf = p->createFadeOutParticleAffector();
p->addAffector(paf);
paf->drop();
7.77.2.1 irr::scene::IParticleSystemSceneNode::IParticleSystemSceneNode
(ISceneNode ∗ parent, ISceneManager ∗ mgr, s32 id, const core::vector3df
& position = core::vector3df(0,0,0), const core::vector3df &
rotation = core::vector3df(0,0,0), const core::vector3df & scale =
core::vector3df(1.0f, 1.0f, 1.0f)) [inline]
Constructor.
Definition at line 51 of file IParticleSystemSceneNode.h.
IParticleAffector* p = createFadeOutParticleAffector();
addAffector(p);
p->drop();
Please note that a affector is not necessary for the particle system to work.
Parameters:
affector: New affector.
Parameters:
node: Pointer to the animated mesh scene node to emit particles from
useNormalDirection: If true, the direction of each particle created will be the normal of the vertex
that it’s emitting from. The normal is divided by the normalDirectionModifier parameter, which
defaults to 100.0f.
direction: Direction and speed of particle emission.
normalDirectionModifier: If the emitter is using the normal direction then the normal of the vertex
that is being emitted from is divided by this number.
mbNumber: This allows you to specify a specific meshBuffer for the IMesh∗ to emit particles from.
The default value is -1, which means a random meshBuffer picked from all of the meshes mesh-
Buffers will be selected to pick a random vertex from. If the value is 0 or greater, it will only
pick random vertices from the meshBuffer specified by this value.
everyMeshVertex: If true, the emitter will emit between min/max particles every second, for every
vertex in the mesh, if false, it will emit between min/max particles from random vertices in the
mesh.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.
Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.
Parameters:
point: Point to attract particles to.
speed: Speed in units per second, to attract to the specified point.
attract: Whether the particles attract or detract from this point.
affectX: Whether or not this will affect the X position of the particle.
affectY: Whether or not this will affect the Y position of the particle.
affectZ: Whether or not this will affect the Z position of the particle.
Returns:
Pointer to the created particle affector. To add this affector as new affector of this particle system, just
call addAffector(). Note that you’ll have to drop() the returned pointer, after you don’t need it any
more, see IReferenceCounted::drop() for more informations.
Parameters:
box: The box for the emitter.
direction: Direction and speed of particle emission.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.
Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.
Parameters:
center: The center of the circle at the base of the cylinder
radius: The thickness of the cylinder
normal: Direction of the length of the cylinder
length: The length of the the cylinder
outlineOnly: Whether or not to put points inside the cylinder or on the outline only
direction: Direction and speed of particle emission.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.
Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.
Parameters:
targetColor: Color whereto the color of the particle is changed.
timeNeededToFadeOut: How much time in milli seconds should the affector need to change the color
to the targetColor.
Returns:
Pointer to the created particle affector. To add this affector as new affector of this particle system, just
call addAffector(). Note that you’ll have to drop() the returned pointer, after you don’t need it any
more, see IReferenceCounted::drop() for more informations.
Parameters:
gravity: Direction and force of gravity.
timeForceLost: Time in milli seconds when the force of the emitter is totally lost and the particle does
not move any more. This is the time where gravity fully affects the particle.
Returns:
Pointer to the created particle affector. To add this affector as new affector of this particle system, just
call addAffector(). Note that you’ll have to drop() the returned pointer, after you don’t need it any
more, see IReferenceCounted::drop() for more informations.
Parameters:
mesh: Pointer to mesh to emit particles from
useNormalDirection: If true, the direction of each particle created will be the normal of the vertex
that it’s emitting from. The normal is divided by the normalDirectionModifier parameter, which
defaults to 100.0f.
direction: Direction and speed of particle emission.
normalDirectionModifier: If the emitter is using the normal direction then the normal of the vertex
that is being emitted from is divided by this number.
mbNumber: This allows you to specify a specific meshBuffer for the IMesh∗ to emit particles from.
The default value is -1, which means a random meshBuffer picked from all of the meshes mesh-
Buffers will be selected to pick a random vertex from. If the value is 0 or greater, it will only
pick random vertices from the meshBuffer specified by this value.
everyMeshVertex: If true, the emitter will emit between min/max particles every second, for every
vertex in the mesh, if false, it will emit between min/max particles from random vertices in the
mesh.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.
Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.
Parameters:
direction: Direction and speed of particle emission.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.
Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.
Parameters:
center: Center of ring
radius: Distance of points from center, points will be rotated around the Y axis at a random 360
degrees and will then be shifted by the provided ringThickness values in each axis.
ringThickness : thickness of the ring or how wide the ring is
direction: Direction and speed of particle emission.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.
Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.
Parameters:
speed: Rotation in degrees per second
pivotPoint: Point to rotate the particles around
Returns:
Pointer to the created particle affector. To add this affector as new affector of this particle system, just
call addAffector(). Note that you’ll have to drop() the returned pointer, after you don’t need it any
more, see IReferenceCounted::drop() for more informations.
Parameters:
center: Center of sphere
radius: Radius of sphere
direction: Direction and speed of particle emission.
minParticlesPerSecond: Minimal amount of particles emitted per second.
maxParticlesPerSecond: Maximal amount of particles emitted per second.
minStartColor: Minimal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
maxStartColor: Maximal initial start color of a particle. The real color of every particle is calculated
as random interpolation between minStartColor and maxStartColor.
lifeTimeMin: Minimal lifetime of a particle, in milliseconds.
lifeTimeMax: Maximal lifetime of a particle, in milliseconds.
maxAngleDegrees: Maximal angle in degrees, the emitting direction of the particle will differ from
the original direction.
Returns:
Pointer to the created particle emitter. To set this emitter as new emitter of this particle system, just
call setEmitter(). Note that you’ll have to drop() the returned pointer, after you don’t need it any more,
see IReferenceCounted::drop() for more informations.
Parameters:
emitter: Sets the particle emitter. You can set this to 0 for removing the current emitter and stopping
the particle system emitting new particles.
• IParticleSystemSceneNode.h
Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file.
#include <IQ3LevelMesh.h>
Inheritance diagram for irr::scene::IQ3LevelMesh::
irr::IReferenceCounted
irr::scene::IMesh
irr::scene::IAnimatedMesh
irr::scene::IQ3LevelMesh
Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file.
The Mesh tries to load all textures of the map. There are currently no additional methods in this class, but
maybe there will be some in later releases if there are feature requests.
Definition at line 19 of file IQ3LevelMesh.h.
• IQ3LevelMesh.h
irr::IReferenceCounted
irr::io::IReadFile
• virtual ∼IReadFile ()
Destructor.
Destructor.
Definition at line 20 of file IReadFile.h.
Returns:
Current position in the file in bytes.
7.79.3.4 virtual s32 irr::io::IReadFile::read (void ∗ buffer, u32 sizeToRead) [pure virtual]
Parameters:
buffer Pointer to buffer where to read bytes will be written to.
sizeToRead Amount of bytes to read from the file.
Returns:
How much bytes were read.
Parameters:
finalPos: Destination position in the file.
relativeMovement: If set to true, the position in the file is changed relative to current position. Other-
wise the position is changed from beginning of file.
Returns:
True if successful, otherwise false.
The documentation for this class was generated from the following file:
• IReadFile.h
irr::gui::ICursorControl
irr::gui::IGUIElementFactory
irr::gui::IGUIEnvironment
irr::gui::IGUIFont
irr::gui::IGUISpriteBank
irr::ILogger
irr::io::IAttributeExchangingObject
irr::io::IAttributes
irr::io::IFileList
irr::io::IFileSystem
irr::io::IReadFile
irr::io::IWriteFile
irr::io::IXMLWriter
irr::IOSOperator
irr::IrrlichtDevice
irr::ITimer
irr::scene::IAnimationEndCallBack
irr::scene::IMesh
irr::scene::IMeshBuffer
irr::scene::IMeshCache
irr::scene::IMeshLoader
irr::scene::IMeshManipulator
irr::scene::IMeshWriter
irr::scene::ISceneCollisionManager
irr::scene::ISceneManager
irr::scene::ISceneNodeAnimatorFactory
irr::scene::ISceneNodeFactory
irr::scene::ITriangleSelector
irr::scene::quake3::IShaderManager
irr::scene::quake3::SVarGroupList
irr::scene::SMD3Mesh
irr::scene::SMD3MeshBuffer
irr::scene::SMD3QuaterionTagList
irr::video::IImage
irr::video::IImageLoader
irr::video::IImageWriter
irr::video::IMaterialRenderer
irr::video::IShaderConstantSetCallBack
irr::video::ITexture
irr::video::IVideoDriver
irr::video::IVideoModeList
• IReferenceCounted ()
Constructor.
• virtual ∼IReferenceCounted ()
Destructor.
Constructor.
Definition at line 46 of file IReferenceCounted.h.
Destructor.
Definition at line 52 of file IReferenceCounted.h.
Returns:
True, if the object was deleted.
Returns:
Returns a string, previously set by setDebugName();
Returns:
Current value of the reference counter.
Parameters:
newName: New debug name to set.
• IReferenceCounted.h
Very simple allocator implementation, containers using it can be used across dll boundaries.
#include <irrAllocator.h>
• virtual ∼irrAllocator ()
Destructor.
Very simple allocator implementation, containers using it can be used across dll boundaries.
Definition at line 24 of file irrAllocator.h.
Destructor.
Definition at line 29 of file irrAllocator.h.
Construct an element.
Definition at line 44 of file irrAllocator.h.
Destruct an element.
Definition at line 50 of file irrAllocator.h.
• irrAllocator.h
Fast allocator, only to be used in containers inside the same memory heap.
Containers using it are NOT able to be used it across dll boundaries. Use this when using in an internal
class or function or when compiled into a static lib
Definition at line 74 of file irrAllocator.h.
Construct an element.
Definition at line 91 of file irrAllocator.h.
Destruct an element.
Definition at line 97 of file irrAllocator.h.
The documentation for this class was generated from the following file:
• irrAllocator.h
irr::IReferenceCounted
irr::IrrlichtDevice
• virtual ∼IrrlichtDevice ()
Destructor.
Destructor.
Definition at line 45 of file IrrlichtDevice.h.
Returns:
Pointer to the mouse cursor control interface.
Returns:
Pointer to the current event receiver. Returns 0 if there is none.
Returns:
Pointer to the file system.
Returns:
Pointer to the gui environment.
Returns:
Pointer to the logger.
Returns:
Pointer to the OS operator.
Returns:
Pointer to the scene manager.
Returns:
Pointer to the ITimer object.
Returns:
String which contains the version.
Returns:
Pointer the video driver.
If you are confused now, because you think you have to create an Irrlicht Device with a video mode before
being able to get the video mode list, let me tell you that there is no need to start up an Irrlicht Device with
EDT_DIRECT3D8, EDT_OPENGL or EDT_SOFTWARE: For this (and for lots of other reasons) the null
driver, EDT_NULL exists.
Returns:
Pointer to a list with all video modes supported by the gfx adapter.
while(device->run())
{
if (device->isWindowActive())
{
// draw everything here
}
else
device->yield();
}
Returns:
True if window is active.
while(device->run())
{
// draw everything here
}
If you want the device to do nothing if the window is inactive (recommended), use the slightly enhanced
code shown at isWindowActive().
Note if you are running Irrlicht inside an external, custom created window: Calling Device->run() will
cause Irrlicht to dispatch windows messages internally. If you are running Irrlicht in your own custom
window, you can also simply use your own message loop using GetMessage, DispatchMessage and what-
ever and simply don’t use this method. But note that Irrlicht will not be able to fetch user input then. See
irr::SIrrlichtCreationParameters::WindowId for more informations and example code.
Parameters:
receiver New receiver to be used.
Parameters:
sceneManager New scene manager to be used.
Parameters:
resize Flag whether the window should be resizeable.
Parameters:
text: New text of the window caption.
7.83.3.20 virtual void irr::IrrlichtDevice::sleep (u32 timeMs, bool pauseTimer = false) [pure
virtual]
Pause execution and let other processes to run for a specified amount of time.
It may not wait the full given time, as sleep may be interrupted
Parameters:
timeMs: Time to sleep for in milisecs.
pauseTimer: If true, pauses the device timer while sleeping
Cause the device to temporarily pause execution and let other processes run.
This should bring down processor usage without major performance loss for Irrlicht
The documentation for this class was generated from the following file:
• IrrlichtDevice.h
irr::IReferenceCounted
irr::scene::ISceneCollisionManager
• virtual core::line3d< f32 > getRayFromScreenCoordinates (core::position2d< s32 > pos, ICamera-
SceneNode ∗camera=0)=0
Returns a 3d ray which would go through the 2d screen coodinates.
• virtual ISceneNode ∗ getSceneNodeFromRayBB (core::line3d< f32 > ray, s32 idBitMask=0, bool
bNoDebugObjects=false)=0
Get the nearest scene node which collides with a 3d ray and whose id matches a bitmask.
• virtual ∼ISceneCollisionManager ()
Destructor.
The Scene Collision Manager provides methods for performing collision tests and picking on scene nodes.
Definition at line 24 of file ISceneCollisionManager.h.
Destructor.
Definition at line 29 of file ISceneCollisionManager.h.
Finds the collision point of a line and lots of triangles, if there is one.
Parameters:
ray: Line with witch collisions are tested.
selector: TriangleSelector containing the triangles. It can be created for example using IScene-
Manager::createTriangleSelector() or ISceneManager::createTriangleOctTreeSelector().
outCollisionPoint: If a collision is detected, this will contain the position of the nearest collision.
outTriangle: If a collision is detected, this will contain the triangle with which the ray collided.
Returns:
True if a collision was detected and false if not.
Collides a moving ellipsoid with a 3d world with gravity and returns the resulting new position of the
ellipsoid.
This can be used for moving a character in a 3d world: The character will slide at walls and is able to walk
up stairs. The method used how to calculate the collision result position is based on the paper "Improved
Collision detection and Response" by Kasper Fauerby.
Parameters:
selector: TriangleSelector containing the triangles of the world. It can be created for example using
ISceneManager::createTriangleSelector() or ISceneManager::createTriangleOctTreeSelector().
ellipsoidPosition: Position of the ellipsoid.
Returns:
New position of the ellipsoid.
Parameters:
pos: Screen coordinates in pixels.
camera: Camera from which the ray starts. If null, the active camera is used.
Returns:
Ray starting from the position of the camera and ending at a length of the far value of the camera at a
position which would be behind the 2d screen coodinates.
Get the scene node, which the overgiven camera is looking at and whose id matches the bitmask.
A ray is simply casted from the position of the camera to the view target position, and all scene nodes are
tested against this ray. The collision tests are done using a bounding box for each scene node.
Parameters:
camera: Camera from which the ray is casted.
idBitMask: Only scene nodes with an id with bits set like in this mask will be tested. If the BitMask
is 0, this feature is disabled.
bNoDebugObjects: Doesn’t take debug objects into account when true. These are scene nodes with
IsDebugObject() = true.
Returns:
Scene node nearest to the camera, which collides with the ray and matches the idBitMask, if the mask
is not null. If no scene node is found, 0 is returned.
Get the nearest scene node which collides with a 3d ray and whose id matches a bitmask.
The collision tests are done using a bounding box for each scene node.
Parameters:
ray: Line with witch collisions are tested.
idBitMask: Only scene nodes with an id with bits set like in this mask will be tested. If the BitMask
is 0, this feature is disabled.
bNoDebugObjects: Doesn’t take debug objects into account when true. These are scene nodes with
IsDebugObject() = true.
Returns:
Scene node nearest to ray.start, which collides with the ray and matches the idBitMask, if the mask is
not null. If no scene node is found, 0 is returned.
Gets the scene node, which is currently visible under the given screencoordinates, viewed from the cur-
rently active camera.
The collision tests are done using a bounding box for each scene node.
Parameters:
pos: Position in pixel screen coordinates, under which the returned scene node will be.
idBitMask: Only scene nodes with an id with bits set like in this mask will be tested. If the BitMask
is 0, this feature is disabled.
bNoDebugObjects: Doesn’t take debug objects into account when true. These are scene nodes with
IsDebugObject() = true.
Returns:
Visible scene node under screen coordinates with matching bits in its id. If there is no scene node
under this position, 0 is returned.
Parameters:
pos: 3D position in world space to be transformed into 2d.
camera: Camera to be used. If null, the currently active camera is used.
Returns:
2d screen coordinates which a object in the 3d world would have if it would be rendered to the screen.
If the 3d position is behind the camera, it is set to (-10000,-10000). In most cases you can ignore this
fact, because if you use this method for drawing a decorator over a 3d object, it will be clipped by the
screen borders.
The documentation for this class was generated from the following file:
• ISceneCollisionManager.h
irr::IReferenceCounted
irr::scene::ISceneManager
Adds a maya style user controlled camera scene node to the scene graph.
• virtual ISceneNode ∗ addOctTreeSceneNode (IMesh ∗mesh, ISceneNode ∗parent=0, s32 id=-1, s32
minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false)=0
Adds a scene node for rendering using a octtree to the scene graph.
• virtual ∼ISceneManager ()
Destructor.
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
All Scene nodes can be created only here. There is a always growing list of scene nodes for lots of purposes:
Indoor rendering scene nodes like the Octree (addOctTreeSceneNode()) or the terrain renderer (addTerrain-
SceneNode()), different Camera scene nodes (addCameraSceneNode(), addCameraSceneNodeMaya()),
scene nodes for Light (addLightSceneNode()), Billboards (addBillboardSceneNode()) and so on. A scene
node is a node in the hierachical scene graph. Every scene node may have children, which are other scene
nodes. Children move relative the their parents position. If the parent of a node is not visible, its children
won’t be visible, too. In this way, it is for example easily possible to attach a light to a moving car or to
place a walking character on a moving platform on a moving ship. The SceneManager is also able to load
3d mesh files of different formats. Take a look at getMesh() to find out what formats are supported. And if
these formats are not enough use addExternalMeshLoader() to add new formats to the engine.
Definition at line 151 of file ISceneManager.h.
Destructor.
Definition at line 156 of file ISceneManager.h.
Parameters:
mesh: Pointer to the loaded animated mesh to be displayed.
parent: Parent of the scene node. Can be NULL if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
rotation: Initital rotation of the scene node.
scale: Initial scale of the scene node.
alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.
Returns:
Returns pointer to the created scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Parameters:
parent: Parent scene node of the billboard. Can be null. If the parent moves, the billboard will move
too.
position: Position of the space relative to its parent where the billboard will be placed.
size: Size of the billboard. This size is 2 dimensional because a billboard only has width and height.
id: An id of the node. This id can be used to identify the node.
shade_top: vertex color top
Returns:
Returns pointer to the billboard if successful, otherwise NULL. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Adds a camera scene node to the scene graph and sets it as active camera.
This camera does not react on user input like for example the one created with addCameraSceneNode-
FPS(). If you want to move or animate it, use animators or the ISceneNode::setPosition(), ICameraScene-
Node::setTarget() etc methods.
Parameters:
position: Position of the space relative to its parent where the camera will be placed.
lookat: Position where the camera will look at. Also known as target.
parent: Parent scene node of the camera. Can be null. If the parent moves, the camera will move too.
id: id of the camera. This id can be used to identify the camera.
Returns:
Returns pointer to interface to camera if successful, otherwise 0. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Adds a camera scene node which is able to be controlled with the mouse and keys like in most first person
shooters (FPS).
Look with the mouse, move with cursor keys. If you do not like the default key layout, you may want to
specify your own. For example to make the camera be controlled by the cursor keys AND the keys W,A,S,
and D, do something like this:
SKeyMap keyMap[8];
keyMap[0].Action = EKA_MOVE_FORWARD;
keyMap[0].KeyCode = KEY_UP;
keyMap[1].Action = EKA_MOVE_FORWARD;
keyMap[1].KeyCode = KEY_KEY_W;
keyMap[2].Action = EKA_MOVE_BACKWARD;
keyMap[2].KeyCode = KEY_DOWN;
keyMap[3].Action = EKA_MOVE_BACKWARD;
keyMap[3].KeyCode = KEY_KEY_S;
keyMap[4].Action = EKA_STRAFE_LEFT;
keyMap[4].KeyCode = KEY_LEFT;
keyMap[5].Action = EKA_STRAFE_LEFT;
keyMap[5].KeyCode = KEY_KEY_A;
keyMap[6].Action = EKA_STRAFE_RIGHT;
keyMap[6].KeyCode = KEY_RIGHT;
keyMap[7].Action = EKA_STRAFE_RIGHT;
keyMap[7].KeyCode = KEY_KEY_D;
Parameters:
parent: Parent scene node of the camera. Can be null.
rotateSpeed: Speed with which the camera is rotated. This can be done only with the mouse.
moveSpeed: Speed with which the camera is moved. Movement is done with the cursor keys.
id: id of the camera. This id can be used to identify the camera.
keyMapArray: Optional pointer to an array of a keymap, specifying what keys should be used to move
the camera. If this is null, the default keymap is used. You can define actions more then one time
in the array, to bind multiple keys to the same action.
keyMapSize: Amount of items in the keymap array.
noVerticalMovement: Setting this to true makes the camera only move within a horizontal plane, and
disables vertical movement as known from most ego shooters. Default is ’false’, with which it is
possible to fly around in space, if no gravity is there.
jumpSpeed: Speed with which the camera is moved when jumping.
Returns:
Returns a pointer to the interface of the camera if successful, otherwise 0. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.
Adds a maya style user controlled camera scene node to the scene graph.
The maya camera is able to be controlled with the mouse similar like in the 3D Software Maya by Alias
Wavefront.
Parameters:
parent: Parent scene node of the camera. Can be null.
rotateSpeed: Rotation speed of the camera.
zoomSpeed: Zoom speed of the camera.
translationSpeed: TranslationSpeed of the camera.
id: id of the camera. This id can be used to identify the camera.
Returns:
Returns a pointer to the interface of the camera if successful, otherwise 0. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.
Parameters:
size: Size of the cube.
parent: Parent of the scene node. Can be NULL if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
rotation: Initital rotation of the scene node.
scale: Initial scale of the scene node.
Returns:
Returns pointer to the created test scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Returns:
Returns pointer to the created scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Returns:
Returns pointer to the created scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Adds an external mesh loader for extending the engine with new file formats.
If you want the engine to be extended with file formats it currently is not able to load (e.g. .cob), just
implement the IMeshLoader interface in your loading class and add it with this method. Using this method
it is also possible to override built-in mesh loaders with newer or updated versions without the need of
recompiling the engine.
Parameters:
externalLoader: Implementation of a new mesh loader.
Parameters:
name: The name of this mesh which must be specified in order to be able to retrieve the mesh later
with ISceneManager::getMesh().
tileSize: Size of a tile of the mesh. (10.0f, 10.0f) would be a good value to start, for example.
tileCount: Specifies how much tiles there will be. If you specifiy for example that a tile has the
size (10.0f, 10.0f) and the tileCount is (10,10), than you get a field of 100 tiles which has the
dimension 100.0fx100.0f.
material: Material of the hill mesh.
hillHeight: Height of the hills. If you specify a negative value you will get holes instead of hills. If
the height is 0, no hills will be created.
countHills: Amount of hills on the plane. There will be countHills.X hills along the X axis and
countHills.Y along the Y axis. So in total there will be countHills.X ∗ countHills.Y hills.
textureRepeatCount: Defines how often the texture will be repeated in x and y direction.
Returns:
Returns null if the creation failed. The reason could be that you specified some invalid parameters or
that a mesh with that name already exists. If successful, a pointer to the mesh is returned. This pointer
should not be dropped. See IReferenceCounted::drop() for more information.
Parameters:
parent: Parent scene node of the light. Can be null. If the parent moves, the light will move too.
position: Position of the space relative to its parent where the light will be placed.
color: Diffuse color of the light. Ambient or Specular colors can be set manually with the ILight-
SceneNode::getLightData() method.
radius: Radius of the light.
id: id of the node. This id can be used to identify the node.
Returns:
Returns pointer to the interface of the light if successful, otherwise NULL. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.
Parameters:
mesh: Pointer to the loaded static mesh to be displayed.
parent: Parent of the scene node. Can be NULL if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
rotation: Initital rotation of the scene node.
scale: Initial scale of the scene node.
alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.
Returns:
Returns pointer to the created scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Adds a scene node for rendering using a octtree to the scene graph.
This a good method for rendering scenes with lots of geometry. The Octree is built on the fly from the
mesh, much faster then a bsp tree.
Parameters:
mesh: The mesh containing all geometry from which the octtree will be build.
parent: Parent node of the octtree node.
id: id of the node. This id can be used to identify the node.
minimalPolysPerNode: Specifies the minimal polygons contained a octree node. If a node gets less
polys than this value it will not be split into smaller nodes.
alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.
Returns:
Pointer to the octtree if successful, otherwise 0. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Adds a scene node for rendering using a octtree to the scene graph.
This a good method for rendering scenes with lots of geometry. The Octree is built on the fly from the
mesh.
Parameters:
mesh: The mesh containing all geometry from which the octtree will be build. If this animated mesh
has more than one frames in it, the first frame is taken.
parent: Parent node of the octtree node.
id: id of the node. This id can be used to identify the node.
minimalPolysPerNode: Specifies the minimal polygons contained a octree node. If a node gets less
polys than this value it will not be split into smaller nodes.
alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.
Returns:
Pointer to the OctTree if successful, otherwise 0. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Parameters:
withDefaultEmitter: Creates a default working point emitter which emitts some particles. Set this to
true to see a particle system in action. If set to false, you’ll have to set the emitter you want by
calling IParticleSystemSceneNode::setEmitter().
parent: Parent of the scene node. Can be NULL if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
rotation: Initital rotation of the scene node.
scale: Initial scale of the scene node.
Returns:
Returns pointer to the created scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Returns:
Returns a pointer to the quake3 scene node if successful, otherwise NULL. This pointer should not be
dropped. See IReferenceCounted::drop() for more information.
Parameters:
top: Texture for the top plane of the box.
bottom: Texture for the bottom plane of the box.
left: Texture for the left plane of the box.
right: Texture for the right plane of the box.
front: Texture for the front plane of the box.
back: Texture for the back plane of the box.
parent: Parent scene node of the skybox. A skybox usually has no parent, so this should be null. Note:
If a parent is set to the skybox, the box will not change how it is drawn.
Returns:
Returns a pointer to the sky box if successful, otherwise NULL. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Parameters:
texture: Texture for the dome.
horiRes: Number of vertices of a horizontal layer of the sphere.
vertRes: Number of vertices of a vertical layer of the sphere.
texturePercentage: How much of the height of the texture is used. Should be between 0 and 1.
spherePercentage: How much of the sphere is drawn. Value should be between 0 and 2, where 1 is
an exact half-sphere and 2 is a full sphere.
parent: Parent scene node of the dome. A dome usually has no parent, so this should be null. Note:
If a parent is set, the dome will not change how it is drawn.
id: An id of the node. This id can be used to identify the node.
Returns:
Returns a pointer to the sky dome if successful, otherwise NULL. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Parameters:
radius: Radius of the sphere.
polyCount: Polycount of the sphere.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
Returns:
Returns pointer to the created test scene node. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Parameters:
meshname: The name of this mesh which must be specified in order to be able to retrieve the mesh
later with ISceneManager::getMesh().
texture: Texture for the terrain. Please note that this is not a hardware texture as usual (ITexture), but
an IImage software texture. You can load this texture with IVideoDriver::createImageFromFile().
heightmap: A grayscaled heightmap image. Like the texture, it can be created with IVideo-
Driver::createImageFromFile(). The amount of triangles created depends on the size of this
texture, so use a small heightmap to increase rendering speed.
Returns:
Returns null if the creation failed. The reason could be that you specified some invalid parameters,
that a mesh with that name already exists, or that a texture could not be found. If successful, a pointer
to the mesh is returned. This pointer should not be dropped. See IReferenceCounted::drop() for more
information.
Parameters:
heightMapFile: The file handle to read vertex data from. This should be a gray scale bitmap.
parent: Parent of the scene node. Can be 0 if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: The absolute position of this node.
rotation: The absolute rotation of this node. ( NOT YET IMPLEMENTED )
scale: The scale factor for the terrain. If you’re using a heightmap of size 129x129 and would like
your terrain to be 12900x12900 in game units, then use a scale factor of ( core::vector ( 100.0f,
100.0f, 100.0f ). If you use a Y scaling factor of 0.0f, then your terrain will be flat.
vertexColor: The default color of all the vertices. If no texture is associated with the scene node, then
all vertices will be this color. Defaults to white.
maxLOD: The maximum LOD (level of detail) for the node. Only change if you know what you are
doing, this might lead to strange behaviour.
patchSize: patch size of the terrain. Only change if you know what you are doing, this might lead to
strange behaviour.
smoothFactor: The number of times the vertices are smoothed.
addAlsoIfHeightmapEmpty: Add terrain node even with empty heightmap.
Returns:
Returns pointer to the created scene node. Can be null if the terrain could not be created, for exam-
ple because the heightmap could not be loaded. The returned pointer should not be dropped. See
IReferenceCounted::drop() for more information.
the terrain renderer by Soconne and the GeoMipMapSceneNode developed by Spintz. They made their
code available for Irrlicht and allowed it to be distributed under this licence. I only modified some parts. A
lot of thanks go to them.
This scene node is capable of loading terrains and updating the indices at runtime to enable viewing very
large terrains very quickly. It uses a CLOD (Continuous Level of Detail) algorithm which updates the
indices for each patch based on a LOD (Level of Detail) which is determined based on a patch’s distance
from the camera.
The patch size of the terrain must always be a size of 2∧ N+1, i.e. 8+1(9), 16+1(17), etc. The MaxLOD
available is directly dependent on the patch size of the terrain. LOD 0 contains all of the indices to draw all
the triangles at the max detail for a patch. As each LOD goes up by 1 the step taken, in generating indices
increases by -2∧ LOD, so for LOD 1, the step taken is 2, for LOD 2, the step taken is 4, LOD 3 - 8, etc. The
step can be no larger than the size of the patch, so having a LOD of 8, with a patch size of 17, is asking
the algoritm to generate indices every 2∧ 8 ( 256 ) vertices, which is not possible with a patch size of 17.
The maximum LOD for a patch size of 17 is 2∧ 4 ( 16 ). So, with a MaxLOD of 5, you’ll have LOD 0 (
full detail ), LOD 1 ( every 2 vertices ), LOD 2 ( every 4 vertices ), LOD 3 ( every 8 vertices ) and LOD 4
( every 16 vertices ).
Parameters:
heightMapFileName: The name of the file on disk, to read vertex data from. This should be a gray
scale bitmap.
parent: Parent of the scene node. Can be 0 if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: The absolute position of this node.
rotation: The absolute rotation of this node. ( NOT YET IMPLEMENTED )
scale: The scale factor for the terrain. If you’re using a heightmap of size 129x129 and would like
your terrain to be 12900x12900 in game units, then use a scale factor of ( core::vector ( 100.0f,
100.0f, 100.0f ). If you use a Y scaling factor of 0.0f, then your terrain will be flat.
vertexColor: The default color of all the vertices. If no texture is associated with the scene node, then
all vertices will be this color. Defaults to white.
maxLOD: The maximum LOD (level of detail) for the node. Only change if you know what you are
doing, this might lead to strange behaviour.
patchSize: patch size of the terrain. Only change if you know what you are doing, this might lead to
strange behaviour.
smoothFactor: The number of times the vertices are smoothed.
addAlsoIfHeightmapEmpty: Add terrain node even with empty heightmap.
Returns:
Returns pointer to the created scene node. Can be null if the terrain could not be created, for exam-
ple because the heightmap could not be loaded. The returned pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Adds a text scene node, which is able to display 2d text at a position in three dimensional space.
Parameters:
node: Node to detete.
Parameters:
waveHeight: Height of the water waves.
waveSpeed: Speed of the water waves.
waveLength: Lenght of a water wave.
mesh: Pointer to the loaded static mesh to be displayed with water waves on it.
parent: Parent of the scene node. Can be NULL if no parent.
id: Id of the node. This id can be used to identify the scene node.
position: Position of the space relative to its parent where the scene node will be placed.
rotation: Initital rotation of the scene node.
scale: Initial scale of the scene node.
Returns:
Pointer to the created scene node. This pointer should not be dropped. See IReferenceCounted::drop()
for more information.
Creates a special scene node animator for doing automatic collision detection and response.
See ISceneNodeAnimatorCollisionResponse for details.
Parameters:
world: Triangle selector holding all triangles of the world with which the scene node may collide. You
can create a triangle selector with ISceneManager::createTriangleSelector();
sceneNode: SceneNode which should be manipulated. After you added this animator to the scene
node, the scene node will not be able to move through walls and is affected by gravity.
ellipsoidRadius: Radius of the ellipsoid with which collision detection and response is done. If you
have got a scene node, and you are unsure about how big the radius should be, you could use the
following code to determine it:
gravityPerSecond: Sets the gravity of the environment. A good example value would be
core::vector3df(0,-100.0f,0) for letting gravity affect all object to fall down. For bigger
gravity, make increase the length of the vector. You can disable gravity by setting it to
core::vector3df(0,0,0).
ellipsoidTranslation: By default, the ellipsoid for collision detection is created around the center of
the scene node, which means that the ellipsoid surrounds it completely. If this is not what you
want, you may specify a translation for the ellipsoid.
slidingValue: DOCUMENTATION NEEDED.
Returns:
Returns the animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator
will cause it to do collision detection and response. If you no longer need the animator, you should
call ISceneNodeAnimator::drop(). See IReferenceCounted::drop() for more information.
Creates a scene node animator, which deletes the scene node after some time automatically.
Parameters:
timeMs: Time in milliseconds, after when the node will be deleted.
Returns:
Returns the animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator
will animate it. If you no longer need the animator, you should call ISceneNodeAnimator::drop(). See
IReferenceCounted::drop() for more information.
Creates a fly circle animator, which lets the attached scene node fly around a center.
Parameters:
center: Center of the circle.
radius: Radius of the circle.
speed: Specifies the speed of the flight.
direction: Specifies the upvector used for alignment of the mesh.
Returns:
The animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator will
animate it. If you no longer need the animator, you should call ISceneNodeAnimator::drop(). See
IReferenceCounted::drop() for more information.
Creates a fly straight animator, which lets the attached scene node fly or move along a line between two
points.
Parameters:
startPoint: Start point of the line.
endPoint: End point of the line.
timeForWay: Time in milli seconds how long the node should need to move from the start point to the
end point.
loop: If set to false, the node stops when the end point is reached. If loop is true, the node begins
again at the start.
Returns:
Returns the animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator
will animate it. If you no longer need the animator, you should call ISceneNodeAnimator::drop(). See
IReferenceCounted::drop() for more information.
Returns:
Returns the selector, or null if not successful. If you no longer need the selector, you should call
ITriangleSelector::drop(). See IReferenceCounted::drop() for more information.
ITriangleSelector* s = sceneManager->createOctTreeTriangleSelector(yourMesh,
yourSceneNode);
yourSceneNode->setTriangleSelector(s);
s->drop();
For more informations and examples on this, take a look at the collision tutorial in the SDK.
Parameters:
mesh: Mesh of which the triangles are taken.
node: Scene node of which visibility and transformation is used.
minimalPolysPerNode: Specifies the minimal polygons contained a octree node. If a node gets less
polys the this value, it will not be splitted into smaller nodes.
Returns:
Returns the selector, or null if not successful. If you no longer need the selector, you should call
ITriangleSelector::drop(). See IReferenceCounted::drop() for more information.
Creates a rotation animator, which rotates the attached scene node around itself.
Parameters:
rotationPerSecond: Specifies the speed of the animation
Returns:
The animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator will
animate it. If you no longer need the animator, you should call ISceneNodeAnimator::drop(). See
IReferenceCounted::drop() for more information.
Creates a triangle selector which can select triangles from a terrain scene node.
Parameters:
node: Pointer to the created terrain scene node
LOD: Level of detail, 0 for highest detail.
Creates a texture animator, which switches the textures of the target scene node based on a list of textures.
Parameters:
textures: List of textures to use.
timePerFrame: Time in milliseconds, how long any texture in the list should be visible.
loop: If set to to false, the last texture remains set, and the animation stops. If set to true, the animation
restarts with the first texture.
Returns:
Returns the animator. Attach it to a scene node with ISceneNode::addAnimator() and the animator
will animate it. If you no longer need the animator, you should call ISceneNodeAnimator::drop(). See
IReferenceCounted::drop() for more information.
ITriangleSelector* s = sceneManager->createTriangleSelector(yourMesh,
yourSceneNode);
yourSceneNode->setTriangleSelector(s);
s->drop();
Parameters:
mesh: Mesh of which the triangles are taken.
node: Scene node of which visibility and transformation is used.
Returns:
Returns the selector, or null if not successful. If you no longer need the selector, you should call
ITriangleSelector::drop(). See IReferenceCounted::drop() for more information.
Parameters:
node: Scene node of which the bounding box, visibility and transformation is used.
Returns:
Returns the selector, or null if not successful. If you no longer need the selector, you should call
ITriangleSelector::drop(). See IReferenceCounted::drop() for more information.
Returns:
The active camera is returned. Note that this can be NULL, if there was no camera created yet.
Returns the default scene node animator factory which can create all built-in scene node animators.
Returns the default scene node factory which can create all built in scene nodes.
Returns:
Returns pointer to the GUIEnvironment This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Returns pointer to an animateable mesh. Loads the file if not loaded already.
Works just as getMesh(const char∗ filename). If you want to remove a loaded mesh from the cache again,
use removeMesh().
Parameters:
file File handle of the mesh to load.
Returns:
NULL if failed and pointer to the mesh if successful. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Returns pointer to an animateable mesh. Loads the file if not loaded already.
If you want to remove a loaded mesh from the cache again, use removeMesh(). Currently there are the
following mesh formats supported:
Format Description
3D Studio (.3ds) Loader for 3D-Studio files which lots of 3D
packages are able to export. Only static meshes
are currently supported by this importer.
Bliz Basic B3D (.b3d) Loader for blitz basic files, developed by Mark
Sibly, also supports animations.
Cartography shop 4 (.csm) Cartography Shop is a modeling program for
creating architecture and calculating lighting.
Irrlicht can directly import .csm files thanks to the
IrrCSM library created by Saurav Mohapatra
which is now integrated directly in Irrlicht. If you
are using this loader, please note that you’ll have
to set the path of the textures before loading .csm
files. You can do this using
SceneManager->getParameters()->set-
Parameter(scene::CSM_TEXTURE_PATH,
”path/to/your/textures”);
COLLADA (.dae, .xml) COLLADA is an open Digital Asset Exchange
Schema for the interactive 3D industry. There are
exporters and importers for this format available
for most of the big 3d packagesat
http://collada.org. Irrlicht can import
COLLADA files by using the
ISceneManager::getMesh() method. COLLADA
files need not contain only one single mesh but
multiple meshes and a whole scene setup with
lights, cameras and mesh instances, this loader
can set up a scene as described by the COLLADA
file instead of loading and returning one single
mesh. By default, this loader behaves like the
other loaders and does not create instances, but it
can be switched into this mode by using
SceneManager->getParameters()->set-
Parameter(COLLADA_CREATE_SCENE_-
INSTANCES, true); Created scene nodes will be
named as the names of the nodes in the
COLLADA file. The returned mesh is just a
dummy object in this mode. Meshes included in
the scene will be added into the scene manager
with the following naming scheme:
path/to/file/file.dea#meshname. The loading of
such meshes is logged. Currently, this loader is
able to create meshes (made of only polygons),
lights, and cameras. Materials and animations are
currently not supported but this will change with
future releases.
Delgine DeleD (.dmf) DeleD (delgine.com) is a 3D editor and
level-editor combined into one and is specifically
designed for 3D game-development. With this
loader, it is possible to directly load all geometry
is as well as textures and lightmaps from .dmf
files. To set texture and material paths, see
scene::DMF_USE_MATERIALS_DIRS and
scene::DMF_TEXTURE_PATH. It is also
possible to flip the alpha texture by setting
Generated on Thu Aug 14 14:21:47 2008 for Irrlicht Engine by Doxygen scene::DMF_FLIP_ALPHA_TEXTURES to true
and to set the material transparent reference value
by setting
scene::DMF_ALPHA_CHANNEL_REF to a
float between 0 and 1. The loader is based on
Salvatore Russo’s .dmf loader, I just changed
502 Irrlicht Engine Class Documentation
SceneManager->addAnimatedMeshSceneNode(
SceneManager->getMesh("yourmesh.3ds"));
If you would like to implement and add your own file format loader to Irrlicht, see addExternalMesh-
Loader().
Parameters:
filename: Filename of the mesh to load.
Returns:
Returns NULL if failed and the pointer to the mesh if successful. This pointer should not be dropped.
See IReferenceCounted::drop() for more information.
Returns an interface to the mesh cache which is shared beween all existing scene managers.
With this interface, it is possible to manually add new loaded meshes (if ISceneManager::getMesh() is not
sufficient), to remove them and to iterate through already loaded meshes.
Returns:
Returns a pointer to the root scene node.
Parameters:
id: The id to search for
start: Scene node to start from. All children of this scene node are searched. If null is specified, the
root scene node is taken.
Returns:
Returns pointer to the first scene node with this id, and null if no scene node could be found.
Parameters:
name: The name to search for
start: Scene node to start from. All children of this scene node are searched. If null is specified, the
root scene node is taken.
Returns:
Returns pointer to the first scene node with this id, and null if no scene node could be found.
Parameters:
type: The type to search for
start: Scene node to start from. All children of this scene node are searched. If null is specified, the
root scene node is taken.
Returns:
Returns pointer to the first scene node with this type, and null if no scene node could be found.
Parameters:
type: Type of scene node to find.
outNodes: array to be filled with results.
start: Scene node to start from. All children of this scene node are searched. If null is specified, the
root scene node is taken.
Returns:
Returns pointer to the video Driver. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Loads a scene. Note that the current scene is not cleared before.
The scene is usually load from an .irr file, an xml based format. .irr files can Be edited with the Irrlicht
Engine Editor, irrEdit (http://irredit.irrlicht3d.org) or saved directly by the engine using
ISceneManager::saveScene().
Parameters:
file: File where the scene is going to be saved into.
userDataSerializer: If you want to load user data possibily saved in that file for some scene nodes
in the file, implement the ISceneUserDataSerializer interface and provide it as parameter here.
Otherwise, simply specify 0 as this parameter.
Returns:
Returns true if successful.
Loads a scene. Note that the current scene is not cleared before.
The scene is usually load from an .irr file, an xml based format. .irr files can Be edited with the Irrlicht
Engine Editor, irrEdit (http://irredit.irrlicht3d.org) or saved directly by the engine using
ISceneManager::saveScene().
Parameters:
filename: Name of the file.
userDataSerializer: If you want to load user data possibily saved in that file for some scene nodes
in the file, implement the ISceneUserDataSerializer interface and provide it as parameter here.
Otherwise, simply specify 0 as this parameter.
Returns:
Returns true if successful.
Parameters:
node: Node to register for drawing. Usually scene nodes would set ’this’ as parameter here because
they want to be drawn.
pass: Specifies when the node wants to be drawn in relation to the other nodes. For example, if
the node is a shadow, it usually wants to be drawn after all other nodes and will use ESNRP_-
SHADOW for this. See scene::E_SCENE_NODE_RENDER_PASS for details.
Returns:
scene will be rendered ( passed culling )
Parameters:
file: File where the scene is saved into.
userDataSerializer: If you want to save some user data for every scene node into the file, imple-
ment the ISceneUserDataSerializer interface and provide it as parameter here. Otherwise, simply
specify 0 as this parameter.
Returns:
Returns true if successful.
Parameters:
filename: Name of the file.
userDataSerializer: If you want to save some user data for every scene node into the file, imple-
ment the ISceneUserDataSerializer interface and provide it as parameter here. Otherwise, simply
specify 0 as this parameter.
Returns:
Returns true if successful.
Parameters:
camera: The new camera which should be active.
Sets the color of stencil buffers shadows drawn by the scene manager.
The documentation for this class was generated from the following file:
• ISceneManager.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::IAnimatedMeshSceneNode
irr::scene::IBillboardSceneNode
irr::scene::IBoneSceneNode
irr::scene::ICameraSceneNode
irr::scene::IDummyTransformationSceneNode
irr::scene::ILightSceneNode
irr::scene::IMeshSceneNode
irr::scene::IParticleSystemSceneNode
irr::scene::IShadowVolumeSceneNode
irr::scene::ITerrainSceneNode
irr::scene::ITextSceneNode
• ISceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id=-1, const core::vector3df &po-
sition=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const
core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))
Constructor.
• virtual ∼ISceneNode ()
Destructor.
Protected Attributes
• core::matrix4 AbsoluteTransformation
Absolute transformation of the node.
• E_CULLING_TYPE AutomaticCullingState
Automatic culling state.
• s32 DebugDataVisible
Flag if debug data should be drawn, such as Bounding Boxes.
• s32 ID
ID of the node.
• bool IsDebugObject
Is debug object?
• bool IsVisible
Is the node visible?
• core::stringc Name
Name of the scene node.
• ISceneNode ∗ Parent
Pointer to the parent.
• core::vector3df RelativeRotation
Relative rotation of the scene node.
• core::vector3df RelativeScale
Relative scale of the scene node.
• core::vector3df RelativeTranslation
Relative translation of the scene node.
• ISceneManager ∗ SceneManager
Pointer to the scene manager.
• ITriangleSelector ∗ TriangleSelector
Pointer to the triangle selector.
Constructor.
Definition at line 40 of file ISceneNode.h.
References addChild(), AutomaticCullingState, DebugDataVisible, irr::scene::EAC_BOX,
irr::scene::EDS_OFF, ID, IsDebugObject, IsVisible, Parent, RelativeRotation, RelativeScale, Relative-
Translation, SceneManager, TriangleSelector, and updateAbsolutePosition().
Destructor.
Definition at line 57 of file ISceneNode.h.
References Animators, irr::core::list< T >::begin(), irr::IReferenceCounted::drop(), irr::core::list< T
>::end(), removeAll(), and TriangleSelector.
Parameters:
animator A pointer to the new animator.
If the scene node already has a parent it is first removed from the other parent.
Parameters:
child A pointer to the new child.
Parameters:
newParent An optional new parent.
newManager An optional new scene manager.
Returns:
The newly created clone of this node.
Parameters:
toCopyFrom The node from which the values are copied
newManager The new scene manager.
Parameters:
in The attribute container to read from.
options Additional options which might influence the deserialization.
Returns:
The current absolute position of the scene node.
Returns:
The absolute transformation matrix.
Returns:
The list of animators attached to this node.
Returns:
The automatic culling state.
Get the axis aligned, not transformed bounding box of this node.
This means that if this node is an animated 3d character, moving in a room, the bounding box will always
be around the origin. To get the box in real world coordinates, just transform it with the matrix you receive
with getAbsoluteTransformation() or simply use getTransformedBoundingBox(), which does the same.
Returns:
The non-transformed bounding box.
Returns:
The list of all children of this node.
Returns:
The id.
Parameters:
num Zero based index. The maximal value is getMaterialCount() - 1.
Returns:
The material at that index.
Returns:
Current amount of materials of this scene node.
Returns:
Name as character string.
Returns:
A pointer to the parent.
Returns:
The current position of the node relative to the parent.
Returns:
The relative transformation matrix.
Returns:
Current relative rotation of the scene node.
Returns:
The scale of the scene node.
Get the axis aligned, transformed and animated absolute bounding box of this node.
Returns:
The transformed bounding box.
Returns:
A pointer to the TriangleSelector or 0, if there is none.
Returns:
The type of this node.
Returns:
A bitwise OR of the debug data values currently visible.
Returns:
If this node is a debug object, true is returned.
Returns:
The visibility of the node, true means visible.
Parameters:
timeMs Current time in milliseconds.
Reimplemented in irr::scene::IBoneSceneNode.
Definition at line 103 of file ISceneNode.h.
References Animators, irr::core::list< T >::begin(), Children, irr::core::list< T >::end(), IsVisible, and
updateAbsolutePosition().
This method is called just before the rendering process of the whole scene.
Nodes may register themselves in the render pipeline during this call, precalculate the geometry which
should be renderered, and prevent their children from being able to register themselves if they are clipped
by simply not calling their OnRegisterSceneNode method. If you are implementing your own scene node,
you should overwrite this method with an implementation code looking like this:
if (IsVisible)
SceneManager->registerNodeForRendering(this);
ISceneNode::OnRegisterSceneNode();
Parameters:
animator A pointer to the animator to be deleted.
Parameters:
child A pointer to the new child.
Returns:
True if the child was removed, and false if not, e.g. because it couldn’t be found in the children list.
Parameters:
out The attribute container to write into.
options Additional options which might influence the serialization.
Parameters:
state The culling state to be used.
Parameters:
state The debug data visibility state to be used.
Parameters:
id The new id.
Parameters:
flag Which flag of all materials to be set.
newvalue New value of that flag.
Sets the texture of the specified layer in all materials of this scene node to the new texture.
Parameters:
textureLayer Layer of texture to be set. Must be a value smaller than MATERIAL_MAX_-
TEXTURES.
texture New texture to be used.
Sets the material type of all materials in this scene node to a new material type.
Parameters:
newType New type of material to be set.
Parameters:
name New name of the scene node.
Parameters:
newParent The new parent to be used.
Parameters:
newpos New relative postition of the scene node.
Parameters:
rotation New rotation of the node in degrees.
Parameters:
scale New scale of the node
Parameters:
selector New triangle selector for this scene node.
Parameters:
isVisible If the node shall be visible.
Updates the absolute position based on the relative and the parents position.
Definition at line 576 of file ISceneNode.h.
References AbsoluteTransformation, getAbsoluteTransformation(), getRelativeTransformation(), and Par-
ent.
Referenced by deserializeAttributes(), ISceneNode(), and OnAnimate().
ID of the node.
Definition at line 737 of file ISceneNode.h.
Referenced by cloneMembers(), deserializeAttributes(), getID(), ISceneNode(), serializeAttributes(), and
setID().
Is debug object?
Definition at line 755 of file ISceneNode.h.
Referenced by cloneMembers(), deserializeAttributes(), ISceneNode(), isDebugObject(), serialize-
Attributes(), and setIsDebugObject().
• ISceneNode.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNodeAnimator
irr::scene::ISceneNodeAnimatorCollisionResponse
• virtual ∼ISceneNodeAnimator ()
Destructor.
Animates a scene node. Can animate position, rotation, material, and so on.
A scene node animator is able to animate a scene node in a very simple way. It may change its position,
rotation, scale and/or material. There are lots of animators to choose from. You can create scene node
animators with the ISceneManager interface.
Definition at line 29 of file ISceneNodeAnimator.h.
Destructor.
Definition at line 34 of file ISceneNodeAnimator.h.
Parameters:
node Node to animate.
timeMs Current time in milli seconds.
• ISceneNodeAnimator.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNodeAnimator
irr::scene::ISceneNodeAnimatorCollisionResponse
• virtual ∼ISceneNodeAnimatorCollisionResponse ()
Destructor.
Special scene node animator for doing automatic collision detection and response.
This scene node animator can be attached to any scene node modifying it in that way, that it cannot move
through walls of the world, is influenced by gravity and acceleration. This animator is useful for example
for first person shooter games. Attach it for example to a first person shooter camera, and the camera will
behave as the player control in a first person shooter game: The camera stops and slides at walls, walks up
stairs, falls down if there is no floor under it, and so on.
Definition at line 24 of file ISceneNodeAnimatorCollisionResponse.h.
Destructor.
Definition at line 29 of file ISceneNodeAnimatorCollisionResponse.h.
Returns the radius of the ellipsoid for collision detection and response.
Returns:
Radius of the ellipsoid.
Returns:
Translation of the ellipsoid relative to the position of the scene node.
Returns:
Gravity vector.
Get the current triangle selector containing all triangles for collision detection.
Returns:
True if the scene node is falling, false if not.
Sets the radius of the ellipsoid for collision detection and response.
If you have a scene node, and you are unsure about how big the radius should be, you could use the
following code to determine it:
Parameters:
radius: New radius of the ellipsoid.
Parameters:
translation: Translation of the ellipsoid relative to the position of the scene node.
Parameters:
gravity: New gravity vector.
Sets a triangle selector holding all triangles of the world with which the scene node may collide.
Parameters:
newWorld: New triangle selector containing triangles to let the scene node collide with.
The documentation for this class was generated from the following file:
• ISceneNodeAnimatorCollisionResponse.h
irr::IReferenceCounted
irr::scene::ISceneNodeAnimatorFactory
• virtual ∼ISceneNodeAnimatorFactory ()
Parameters:
typeName: Type of the scene node animator to add.
target: Target scene node of the new animator.
Returns:
Returns pointer to the new scene node animator or null if not successful. You need to drop this pointer
after calling this, see IReferenceCounted::drop() for details.
Parameters:
type: Type of the scene node animator to add.
target: Target scene node of the new animator.
Returns:
Returns pointer to the new scene node animator or null if not successful. You need to drop this pointer
after calling this, see IReferenceCounted::drop() for details.
returns amount of scene node animator types this factory is able to create
Parameters:
idx: Index of scene node animator type in this factory. Must be a value between 0 and getCreatable-
SceneNodeTypeCount()
Parameters:
type: Type of scene node animator.
Returns:
: Returns name of scene node animator type if this factory can create the type, otherwise 0.
Parameters:
idx: Index of scene node animator type in this factory. Must be a value between 0 and getCreatable-
SceneNodeAnimatorTypeCount()
The documentation for this class was generated from the following file:
• ISceneNodeAnimatorFactory.h
irr::IReferenceCounted
irr::scene::ISceneNodeFactory
• virtual ∼ISceneNodeFactory ()
adds a scene node to the scene graph based on its type name
Parameters:
typeName: Type name of the scene node to add.
parent: Parent scene node of the new node, can be null to add the scene node to the root.
Returns:
Returns pointer to the new scene node or null if not successful.
Parameters:
type: Type of the scene node to add.
parent: Parent scene node of the new node, can be null to add the scene node to the root.
Returns:
Returns pointer to the new scene node or null if not successful.
Parameters:
idx: Index of scene node type in this factory. Must be a value between 0 and getCreatableSceneNode-
TypeCount()
Parameters:
type: Type of scene node.
Returns:
: Returns name of scene node type if this factory can create the type, otherwise 0.
Parameters:
idx: Index of scene node type in this factory. Must be a value between 0 and getCreatableSceneNode-
TypeCount()
The documentation for this class was generated from the following file:
• ISceneNodeFactory.h
• virtual ∼ISceneUserDataSerializer ()
Interface to read and write user data to and from .irr files.
This interface is to be imlpemented by the user, to make it possible to read and write user data when
reading or writing .irr files via ISceneManager. To be used with ISceneManager::loadScene() and IScene-
Manager::saveScene()
Definition at line 24 of file ISceneUserDataSerializer.h.
Called when the scene manager is writing a scene node to an xml file for example.
Implement this method and return a list of attributes containing the user data you want to be saved together
with the scene node. Return 0 if no user data should be added. Please note that the scene manager will call
drop() to the returned pointer after it no longer needs it, so if you didn’t create a new object for the return
value and returning a longer existing IAttributes object, simply call grab() before returning it.
Called when the scene manager read a scene node while loading a file.
The userData pointer contains a list of attributes with userData which were attached to the scene node in
the read scene file.
The documentation for this class was generated from the following file:
• ISceneUserDataSerializer.h
irr::IReferenceCounted
irr::video::IShaderConstantSetCallBack
• virtual ∼IShaderConstantSetCallBack ()
Destructor.
Interface making it possible to set constants for gpu programs every frame.
Implement this interface in an own class and pass a pointer to it to one of the methods in
IGPUProgrammingServices when creating a shader. The OnSetConstants method will be called every
frame now.
Definition at line 20 of file IShaderConstantSetCallBack.h.
Destructor.
Definition at line 25 of file IShaderConstantSetCallBack.h.
Called by the engine when the vertex and/or pixel shader constants for an material renderer should be set.
Implement the IShaderConstantSetCallBack in an own class and implement your own OnSetConstants
method using the given IMaterialRendererServices interface. Pass a pointer to this class to one of the
methods in IGPUProgrammingServices when creating a shader. The OnSetConstants method will now be
called every time before geometry is being drawn using your shader material. A sample implementation
would look like this:
Parameters:
services: Pointer to an interface providing methods to set the constants for the shader.
userData: Userdata int which can be specified when creating the shader.
The documentation for this class was generated from the following file:
• IShaderConstantSetCallBack.h
irr::IReferenceCounted
irr::scene::quake3::IShaderManager
• IQ3Shader.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::IShadowVolumeSceneNode
constructor
Definition at line 22 of file IShadowVolumeSceneNode.h.
sets the mesh from which the shadow volume should be generated.
The documentation for this class was generated from the following file:
• IShadowVolumeSceneNode.h
irr::IReferenceCounted
irr::scene::IMesh
irr::scene::IAnimatedMesh
irr::scene::ISkinnedMesh
Classes
• struct SJoint
Joints.
• struct SPositionKey
• struct SRotationKey
• struct SScaleKey
• struct SWeight
A vertex weight.
Returns:
Returns amount of joints in the skeletal animated mesh.
Parameters:
number: Zero based index of joint. The last joint has the number getJointCount()-1;
Returns:
Returns name of joint and null if an error happened.
Parameters:
name: Name of the joint.
Returns:
Returns the number of the joint or -1 if not found.
Update Normals when Animating False= Don’t animate, faster True= Update normals
uses animation from another mesh the animation is linked (not copied) based on joint names (so make sure
they are unique)
Returns:
Returns true if all joints in this mesh were matched up (empty names will not be matched, and it’s case
sensitive). Unmatched joints will not be animated.
The documentation for this class was generated from the following file:
• ISkinnedMesh.h
Public Attributes
• core::vector3df Animatedposition
• core::quaternion Animatedrotation
• core::vector3df Animatedscale
• core::array< u32 > AttachedMeshes
List of attached meshes.
• core::matrix4 GlobalAnimatedMatrix
• core::matrix4 GlobalInversedMatrix
• core::matrix4 GlobalMatrix
Unnecessary for loaders, will be overwritten on finalize.
• core::matrix4 LocalAnimatedMatrix
• core::matrix4 LocalMatrix
Local matrix of this joint.
• core::stringc Name
The name of this joint.
Friends
• class CSkinnedMesh
Internal members used by CSkinnedMesh.
Joints.
Definition at line 117 of file ISkinnedMesh.h.
Skin weights.
Definition at line 146 of file ISkinnedMesh.h.
The documentation for this struct was generated from the following file:
• ISkinnedMesh.h
Public Attributes
• f32 frame
• core::vector3df position
• ISkinnedMesh.h
Public Attributes
• f32 frame
• core::quaternion rotation
• ISkinnedMesh.h
Public Attributes
• f32 frame
• core::vector3df scale
• ISkinnedMesh.h
Public Attributes
• u16 buffer_id
Index of the mesh buffer.
• f32 strength
Weight Strength/Percentage (0-1).
• u32 vertex_id
Index of the vertex.
Friends
• class CSkinnedMesh
Internal members used by CSkinnedMesh.
A vertex weight.
Definition at line 75 of file ISkinnedMesh.h.
• ISkinnedMesh.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::ITerrainSceneNode
• virtual s32 getIndicesForPatch (core::array< u32 > &indices, s32 patchX, s32 patchZ, s32
LOD=0)=0
Gets the indices for a specified patch at a specified Level of Detail.
• ITerrainSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df &po-
sition=core::vector3df(0.0f, 0.0f, 0.0f), const core::vector3df &rotation=core::vector3df(0.0f, 0.0f,
0.0f), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))
Constructor.
• virtual ∼ITerrainSceneNode ()
Destructor.
A scene node for displaying terrain using the geo mip map algorithm.
The code for the TerrainSceneNode is based on the Terrain renderer by Soconne and the GeoMipMap-
SceneNode developed by Spintz. They made their code available for Irrlicht and allowed it to be distributed
under this licence. I only modified some parts. A lot of thanks go to them.
This scene node is capable of very quickly loading terrains and updating the indices at runtime to enable
viewing very large terrains. It uses a CLOD ( Continuous Level of Detail ) algorithm which updates the
indices for each patch based on a LOD ( Level of Detail ) which is determined based on a patch’s distance
from the camera.
The Patch Size of the terrain must always be a size of ( 2∧ N+1, i.e. 8+1(9), 16+1(17), etc. ). The MaxLOD
available is directly dependent on the patch size of the terrain. LOD 0 contains all of the indices to draw all
the triangles at the max detail for a patch. As each LOD goes up by 1 the step taken, in generating indices
increases by - 2∧ LOD, so for LOD 1, the step taken is 2, for LOD 2, the step taken is 4, LOD 3 - 8, etc.
The step can be no larger than the size of the patch, so having a LOD of 8, with a patch size of 17, is asking
the algoritm to generate indices every 2∧ 8 ( 256 ) vertices, which is not possible with a patch size of 17.
The maximum LOD for a patch size of 17 is 2∧ 4 ( 16 ). So, with a MaxLOD of 5, you’ll have LOD 0 (
full detail ), LOD 1 ( every 2 vertices ), LOD 2 ( every 4 vertices ), LOD 3 ( every 8 vertices ) and LOD 4
( every 16 vertices ).
Definition at line 45 of file ITerrainSceneNode.h.
Constructor.
Definition at line 50 of file ITerrainSceneNode.h.
Destructor.
Definition at line 57 of file ITerrainSceneNode.h.
Returns:
The bounding box of the chosen patch.
Returns:
The bounding box of the entire terrain.
Implements irr::scene::ISceneNode.
Parameters:
LODs A reference to a core::array<s32> to hold the values
Returns:
Number of elements in the array
Returns:
The index count.
Parameters:
indices A reference to an array of u32 indices.
patchX Patch x coordinate.
patchZ Patch z coordinate.
LOD The level of detail to get for that patch. If -1, then get the CurrentLOD. If the CurrentLOD is set
to -1, meaning it’s not shown, then it will retrieve the triangles at the highest LOD ( 0 ).
Returns:
Number if indices put into the buffer.
Returns:
Pointer to the mesh.
Parameters:
mb A reference to an SMeshBuffer object
LOD The level of detail you want the indices from.
Parameters:
scale The scaling amount. Values above 1.0 increase the number of time the texture is drawn on the
terrain. Values below 0 will decrease the number of times the texture is drawn on the terrain.
Using negative values will flip the texture, as well as still scaling it.
scale2 If set to 0 (default value), this will set the second texture coordinate set to the same values as
in the first set. If this is another value than zero, it will scale the second texture coordinate set by
this value.
Sets whether or not the node should dynamically update its associated selector when the geomipmap data
changes.
Parameters:
bVal: Boolean value representing whether or not to update selector dynamically.
Parameters:
patchX Patch x coordinate.
patchZ Patch z coordinate.
LOD The level of detail to set the patch to.
The documentation for this class was generated from the following file:
• ITerrainSceneNode.h
irr::IReferenceCounted
irr::io::IAttributeExchangingObject
irr::scene::ISceneNode
irr::scene::ITextSceneNode
• ITextSceneNode (ISceneNode ∗parent, ISceneManager ∗mgr, s32 id, const core::vector3df &posi-
tion=core::vector3df(0, 0, 0))
constructor
constructor
Definition at line 21 of file ITextSceneNode.h.
• ITextSceneNode.h
irr::IReferenceCounted
irr::video::ITexture
• virtual ∼ITexture ()
destructor
Protected Attributes
• core::stringc Name
constructor
Definition at line 102 of file ITexture.h.
References irr::core::string< T, TAlloc >::make_lower(), and Name.
destructor
Definition at line 108 of file ITexture.h.
Returns:
Returns the color format of texture.
Returns:
Returns driver type of texture.
Returns:
Returns the original size of the texture.
Returns:
Returns pitch of texture in bytes.
Returns:
Returns the size of the texture.
Returns:
Returns true if texture has MipMaps, else false.
Returns:
Returns true if this is a render target, otherwise false.
Lock function.
Locks the Texture and returns a pointer to access the pixels. After lock() has been called and all operations
on the pixels are done, you must call unlock().
Returns:
Returns a pointer to the pixel data. The format of the pixel can be determinated by using getColor-
Format(). NULL is returned, if the texture cannot be locked.
• ITexture.h
irr::IReferenceCounted
irr::ITimer
• virtual ∼ITimer ()
destructor
destructor
Definition at line 19 of file ITimer.h.
• ITimer.h
irr::IReferenceCounted
irr::scene::ITriangleSelector
irr::scene::IMetaTriangleSelector
• virtual void getTriangles (core::triangle3df ∗triangles, s32 arraySize, s32 &outTriangleCount, const
core::line3d< f32 > &line, const core::matrix4 ∗transform=0) const =0
Gets all triangles which have or may have contact with a 3d line.
• virtual void getTriangles (core::triangle3df ∗triangles, s32 arraySize, s32 &outTriangleCount, const
core::aabbox3d< f32 > &box, const core::matrix4 ∗transform=0) const =0
Gets all triangles which lie within a specific bounding box.
• virtual void getTriangles (core::triangle3df ∗triangles, s32 arraySize, s32 &outTriangleCount, const
core::matrix4 ∗transform=0) const =0
Gets all triangles.
• virtual ∼ITriangleSelector ()
Destructor.
Destructor.
Definition at line 31 of file ITriangleSelector.h.
Gets all triangles which have or may have contact with a 3d line.
Please note that unoptimized triangle selectors also may return triangles which are not in contact at all with
the 3d line.
Parameters:
triangles: Array where the resulting triangles will be written to.
arraySize: Size of the target array.
outTriangleCount: Amount of triangles which have been written into the array.
line: Only triangles which may be in contact with this 3d line will be written into the array.
transform: Pointer to matrix for transforming the triangles before they are returned. Useful for exam-
ple to scale all triangles down into an ellipsoid space. If this pointer is null, no transformation
will be done.
Parameters:
triangles: Array where the resulting triangles will be written to.
arraySize: Size of the target array.
outTriangleCount: Amount of triangles which have been written into the array.
box: Only triangles which are in this axis aligned bounding box will be written into the array.
transform: Pointer to matrix for transforming the triangles before they are returned. Useful for exam-
ple to scale all triangles down into an ellipsoid space. If this pointer is null, no transformation
will be done.
Parameters:
triangles: Array where the resulting triangles will be written to.
arraySize: Size of the target array.
outTriangleCount: Amount of triangles which have been written into the array.
transform: Pointer to matrix for transforming the triangles before they are returned. Useful for exam-
ple to scale all triangles down into an ellipsoid space. If this pointer is null, no transformation
will be done.
The documentation for this class was generated from the following file:
• ITriangleSelector.h
irr::IReferenceCounted
irr::video::IVideoDriver
• virtual ITexture ∗ addTexture (const core::dimension2d< s32 > &size, const c8 ∗name, ECOLOR_-
FORMAT format=ECF_A8R8G8B8)=0
Creates an empty texture of specified size.
• virtual void draw2DImage (const video::ITexture ∗texture, const core::rect< s32 > &destRect, const
core::rect< s32 > &sourceRect, const core::rect< s32 > ∗clipRect=0, video::SColor ∗colors=0, bool
useAlphaChannelOfTexture=false)=0
Draws a part of the texture into the rectangle. Note that colors must be an array of 4 colors if used.
• virtual void draw2DImage (const video::ITexture ∗texture, const core::position2d< s32 > &pos,
const core::array< core::rect< s32 > > &sourceRects, const core::array< s32 > &indices, s32
kerningWidth=0, const core::rect< s32 > ∗clipRect=0, SColor color=SColor(255, 255, 255, 255),
bool useAlphaChannelOfTexture=false)=0
Draws a set of 2d images, using a color and the alpha channel of the texture.
• virtual void draw2DImage (const video::ITexture ∗texture, const core::position2d< s32 > &dest-
Pos, const core::rect< s32 > &sourceRect, const core::rect< s32 > ∗clipRect=0, SColor
color=SColor(255, 255, 255, 255), bool useAlphaChannelOfTexture=false)=0
Draws a 2d image using a color.
• virtual void draw2DImage (const video::ITexture ∗texture, const core::position2d< s32 > &dest-
Pos)=0
Draws a 2d image without any special effects.
• virtual void draw2DLine (const core::position2d< s32 > &start, const core::position2d< s32 >
&end, SColor color=SColor(255, 255, 255, 255))=0
Draws a 2d line.
• virtual void draw2DPolygon (core::position2d< s32 > center, f32 radius, video::SColor
color=SColor(100, 255, 255, 255), s32 vertexCount=10)=0
Draws a non filled concyclic regular 2d polyon.
• virtual void draw2DRectangle (const core::rect< s32 > &pos, SColor colorLeftUp, SColor color-
RightUp, SColor colorLeftDown, SColor colorRightDown, const core::rect< s32 > ∗clip=0)=0
Draws an 2d rectangle with a gradient.
• virtual void draw2DRectangle (SColor color, const core::rect< s32 > &pos, const core::rect< s32
> ∗clip=0)=0
Draws a 2d rectangle.
• virtual void draw3DBox (const core::aabbox3d< f32 > &box, SColor color=SColor(255, 255, 255,
255))=0
Draws a 3d axis aligned box.
• virtual void draw3DLine (const core::vector3df &start, const core::vector3df &end, SColor
color=SColor(255, 255, 255, 255))=0
Draws a 3d line.
• virtual void draw3DTriangle (const core::triangle3df &triangle, SColor color=SColor(255, 255, 255,
255))=0
Draws a 3d triangle.
• virtual void drawIndexedTriangleFan (const S3DVertex ∗vertices, u32 vertexCount, const u16
∗indexList, u32 triangleCount)=0
Draws an indexed triangle fan.
• virtual void drawIndexedTriangleList (const S3DVertex ∗vertices, u32 vertexCount, const u16
∗indexList, u32 triangleCount)=0
Draws an indexed triangle list.
• virtual void drawVertexPrimitiveList (const void ∗vertices, u32 vertexCount, const u16 ∗indexList,
u32 triangleCount, E_VERTEX_TYPE vType, scene::E_PRIMITIVE_TYPE pType)=0
Draws a vertex primitive list.
Renames a texture.
• virtual bool setClipPlane (u32 index, const core::plane3df &plane, bool enable=false)=0
Set or unset a clipping plane.
• virtual void setFog (SColor color=SColor(0, 255, 255, 255), bool linearFog=true, f32 start=50.0f,
f32 end=100.0f, f32 density=0.01f, bool pixelFog=false, bool rangeFog=false)=0
Sets the fog mode.
• virtual ∼IVideoDriver ()
Destructor.
Destructor.
Definition at line 81 of file IVideoDriver.h.
Parameters:
light Data specifying the dynamic light.
Parameters:
loader Pointer to the external loader created.
Parameters:
writer: Pointer to the external writer created.
with your new material, set the MaterialType member of the SMaterial struct to the value returned by this
method. If you simply want to create a new material using vertex and/or pixel shaders it would be easier
to use the video::IGPUProgrammingServices interface which you can get using the getGPUProgramming-
Services() method.
Parameters:
renderer A pointer to the new renderer.
name Optional name for the material renderer entry.
Returns:
The number of the material type which can be set in SMaterial::MaterialType to use the renderer. -1
is returned if an error occured. For example if you tried to add an material renderer to the software
renderer or the null device, which do not accept material renderers.
Parameters:
name A name for the texture. Later calls of getTexture() with this name will return this texture
image Image the texture is created from.
Returns:
Pointer to the newly created texture. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Parameters:
size: Size of the texture.
name A name for the texture. Later calls to getTexture() with this name will return this texture
format Desired color format of the texture. Please note that the driver may choose to create the texture
in another color format.
Returns:
Pointer to the newly created texture. This pointer should not be dropped. See IReference-
Counted::drop() for more information.
Parameters:
backBuffer Specifies if the back buffer should be cleared, which means that the screen is filled with
the color specified. If this parameter is false, the back buffer will not be cleared and the color
parameter is ignored.
zBuffer Specifies if the depth buffer (z buffer) should be cleared. It is not nesesarry to do so if only
2d drawing is used.
color The color used for back buffer clearing
Returns:
False if failed.
Parameters:
material The material to serialize.
Returns:
The io::IAttributes container holding the material properties.
Parameters:
format Desired color format of the texture
size Desired size of the image
data A byte array with pixel color information
ownForeignMemory If true, the image will use the data pointer directly and own it afterwards. If
false, the memory will by copied internally.
deleteMemory Whether the memory is deallocated upon destruction.
Returns:
The created image. If you no longer need the image, you should call IImage::drop(). See IReference-
Counted::drop() for more information.
Parameters:
file File from which the image is created.
Returns:
The created image. If you no longer need the image, you should call IImage::drop(). See IReference-
Counted::drop() for more information.
Parameters:
filename Name of the file from which the image is created.
Returns:
The created image. If you no longer need the image, you should call IImage::drop(). See IReference-
Counted::drop() for more information.
Parameters:
size Size of the texture, in pixels. Width and height should be a power of two (e.g. 64, 128, 256, 512,
...) and it should not be bigger than the backbuffer, because it shares the zbuffer with the screen
buffer.
name An optional name for the RTT.
Returns:
Pointer to the created texture or 0 if the texture could not be created. If you no longer need the image,
you should call ITexture::drop(). See IReferenceCounted::drop() for more information.
Returns:
An image created from the last rendered frame.
Deletes all dynamic lights which were previously added with addDynamicLight().
Draws a part of the texture into the rectangle. Note that colors must be an array of 4 colors if used.
Suggested and first implemented by zola.
Parameters:
texture The texture to draw from
destRect The rectangle to draw into
sourceRect The rectangle denoting a part of the texture
clipRect Clips the destination rectangle (may be 0)
colors Array of 4 colors denoting the color values of the corners of the destRect
useAlphaChannelOfTexture True if alpha channel will be blended.
Draws a set of 2d images, using a color and the alpha channel of the texture.
The images are drawn beginning at pos and concatenated in one line. All drawings are clipped against
clipRect (if != 0). The subtextures are defined by the array of sourceRects and are chosen by the indices
given.
Parameters:
texture Texture to be drawn.
pos Upper left 2d destination position where the image will be drawn.
sourceRects Source rectangles of the image.
indices List of indices which choose the actual rectangle used each time.
kerningWidth Offset to Position on X
clipRect Pointer to rectangle on the screen where the image is clipped to. If this pointer is 0 then the
image is not clipped.
color Color with which the image is drawn. Note that the alpha component is used. If alpha is other
than 255, the image will be transparent.
useAlphaChannelOfTexture: If true, the alpha channel of the texture is used to draw the image.
Parameters:
texture Texture to be drawn.
destPos Upper left 2d destination position where the image will be drawn.
sourceRect Source rectangle in the image.
clipRect Pointer to rectangle on the screen where the image is clipped to. If this pointer is NULL the
image is not clipped.
color Color with which the image is drawn. If the color equals Color(255,255,255,255) it is ignored.
Note that the alpha component is used: If alpha is other than 255, the image will be transparent.
useAlphaChannelOfTexture: If true, the alpha channel of the texture is used to draw the image.
Parameters:
texture Pointer to texture to use.
destPos Upper left 2d destination position where the image will be drawn.
Draws a 2d line.
Parameters:
start: Screen coordinates of the start of the line in pixels.
end: Screen coordinates of the start of the line in pixels.
color: Color of the line to draw.
Parameters:
center Position of center of circle (pixels).
radius Radius of circle in pixels.
color Color of the circle.
vertexCount Amount of vertices of the polygon. Specify 2 to draw a line, 3 to draw a triangle, 4 for
tetragons and a lot (>10) for nearly a circle.
Parameters:
colorLeftUp Color of the upper left corner to draw. The alpha component will not be ignored and
specifies how transparent the rectangle will be.
colorRightUp Color of the upper right corner to draw. The alpha component will not be ignored and
specifies how transparent the rectangle will be.
colorLeftDown Color of the lower left corner to draw. The alpha component will not be ignored and
specifies how transparent the rectangle will be.
colorRightDown Color of the lower right corner to draw. The alpha component will not be ignored
and specifies how transparent the rectangle will be.
pos Position of the rectangle.
clip Pointer to rectangle against which the rectangle will be clipped. If the pointer is null, no clipping
will be performed.
Draws a 2d rectangle.
Parameters:
color Color of the rectangle to draw. The alpha component will not be ignored and specifies how
transparent the rectangle will be.
pos Position of the rectangle.
clip Pointer to rectangle against which the rectangle will be clipped. If the pointer is null, no clipping
will be performed.
driver->setMaterial(unlitMaterial);
driver->setTransform(video::ETS_WORLD, core::matrix4());
Parameters:
box The axis aligned box to draw
color Color to use while drawing the box.
Draws a 3d line.
For some implementations, this method simply calls drawIndexedTriangles for some triangles. Note that
the line is drawn using the current transformation matrix and material. So if you need to draw the 3D line
independently of the current transformation, use
driver->setMaterial(unlitMaterial);
driver->setTransform(video::ETS_WORLD, core::matrix4());
for some properly set up material before drawing the line. Some drivers support line thickness set in the
material.
Parameters:
start Start of the 3d line.
end End of the 3d line.
color Color of the line.
Draws a 3d triangle.
This method calls drawIndexedTriangles for some triangles. This method works with all drivers because
it simply calls drawIndexedTriangleList but it is hence not very fast. Note that the triangle is drawn using
the current transformation matrix and material. So if you need to draw it independently of the current
transformation, use
driver->setMaterial(unlitMaterial);
driver->setTransform(video::ETS_WORLD, core::matrix4());
Parameters:
triangle The triangle to draw.
color Color of the line.
Parameters:
vertices Pointer to array of vertices.
vertexCount Amount of vertices in the array.
indexList Pointer to array of indices.
triangleCount Amount of Triangles. Usually amount of indices - 2.
Parameters:
vertices Pointer to array of vertices.
vertexCount Amount of vertices in the array.
indexList Pointer to array of indices.
triangleCount Amount of Triangles. Usually amount of indices - 2.
Parameters:
vertices Pointer to array of vertices.
Parameters:
vertices Pointer to array of vertices.
vertexCount Amount of vertices in the array.
indexList Pointer to array of indices.
triangleCount Amount of Triangles. Usually amount of indices / 3.
Parameters:
vertices Pointer to array of vertices.
vertexCount Amount of vertices in the array.
indexList Pointer to array of indices.
triangleCount Amount of Triangles. Usually amount of indices / 3.
Parameters:
mb: Buffer to draw;
Parameters:
clearStencilBuffer Set this to false, if you want to draw every shadow with the same color, and only
want to call drawStencilShadow() once after all shadow volumes have been drawn. Set this to
true, if you want to paint every shadow with its own color.
leftUpEdge Color of the shadow in the upper left corner of screen.
rightUpEdge Color of the shadow in the upper right corner of screen.
leftDownEdge Color of the shadow in the lower left corner of screen.
rightDownEdge Color of the shadow in the lower right corner of screen.
Parameters:
triangles Pointer to array of 3d vectors, specifying the shadow volume.
count Amount of triangles in the array.
zfail If set to true, zfail method is used, otherwise zpass.
Parameters:
vertices Pointer to array of vertices.
vertexCount Amount of vertices in the array.
indexList Pointer to array of indices.
Parameters:
index The plane index. Must be between 0 and MaxUserClipPlanes.
enable If true, enable the clipping plane else disable it.
Parameters:
windowId Handle of another window, if you want the bitmap to be displayed on another window. If
this is null, everything will be displayed in the default window. Note: This does not work in
fullscreen mode and is not implemented for all devices (only for D3D8, D3D9, Software1 and
Software2, and only for Windows).
sourceRect Pointer to a rectangle defining the source rectangle of the area to be presented. Set to null
to present everything. Note: not implemented in all devices.
Returns:
False if failed and true if succeeded.
Parameters:
outMaterial The material to set the properties for.
attributes The attributes to read from.
Parameters:
filename Name of the texture.
Returns:
Pointer to loaded texture, or 0 if not found.
Returns:
Size of render target or screen/window
Returns:
Type of driver.
Parameters:
idx Zero based index of the light. Must be 0 or greater and smaller than IVideoDriver()::getDynamic-
LightCount.
Returns:
Light data.
Returns:
Amount of dynamic lights currently set
Returns driver and operating system specific data about the IVideoDriver.
This method should only be used if the engine should be extended without having to modify the source of
the engine.
Returns:
Collection of device dependent pointers.
Returns:
Amount of frames per second drawn.
Returns:
Pointer to the IGPUProgrammingServices. Returns 0 if the video driver does not support this. For
example the Software driver and the Null driver will always return 0.
Parameters:
idx Id of the material renderer. Can be a value of the E_MATERIAL_TYPE enum or a value which
was returned by addMaterialRenderer().
Returns:
Pointer to material renderer or null if not existing.
Returns:
Amount of currently available material renderers.
Parameters:
idx Id of the material renderer. Can be a value of the E_MATERIAL_TYPE enum or a value which
was returned by addMaterialRenderer().
Returns:
String with the name of the renderer, or 0 if not exisiting
Returns the maximal amount of dynamic lights the device can handle.
Returns:
Maximal amount of dynamic lights.
Returns:
Maximum amount of primitives.
Returns:
Returns the name of the video driver, e.g. in case of the Direct3D8 driver, it would return "Direct3D
8.1".
Returns amount of primitives (mostly triangles) which were drawn in the last frame.
Together with getFPS() very useful method for statistics.
Parameters:
mode Defines if the primitives drawn are accumulated or counted per frame.
Returns:
Amount of primitives drawn in the last frame.
Returns:
Size of screen or render window.
Parameters:
file Pointer to an already opened file.
Returns:
Pointer to the texture, or 0 if the texture could not be loaded. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Parameters:
filename Filename of the texture to be loaded.
Returns:
Pointer to the texture, or 0 if the texture could not be loaded. This pointer should not be dropped. See
IReferenceCounted::drop() for more information.
Parameters:
index: Index of the texture, must be smaller than getTextureCount() Please note that this index might
change when adding or removing textures
Returns:
Pointer to the texture, or 0 if the texture was not set or index is out of bounds. This pointer should not
be dropped. See IReferenceCounted::drop() for more information.
Returns:
Amount of textures currently loaded
Parameters:
flag Texture creation flag.
Returns:
The current texture creation mode.
Parameters:
state Transformation type to query
Returns:
Matrix describing the transformation.
Returns:
Rectangle of the current viewport.
Creates a 1bit alpha channel of the texture based of an color key position.
This makes the texture transparent at the regions where this color key can be found when using for example
draw2DImage with useAlphachannel==true.
Parameters:
texture Texture whose alpha channel is modified.
colorKeyPixelPos Position of a pixel with the color key color. Every pixel with this color will become
transparent as described above.
Parameters:
texture Texture whose alpha channel is modified.
color Color key color. Every pixel with this color will become transparent as described above. Please
note that the colors of a texture may be converted when loading it, so the color values may not be
exactly the same in the engine and for example in picture edit programs. To avoid this problem,
you could use the makeColorKeyTexture method, which takes the position of a pixel instead a
color value.
Parameters:
texture Texture whose alpha channel is modified.
amplitude Constant value by which the height information is multiplied.
Event handler for resize events. Only used by the engine internally.
Used to notify the driver that the window was resized. Usually, there is no need to call this method.
Parameters:
feature Feature to query.
Returns:
True if the feature is available, false if not.
Removes all textures from the texture cache and deletes them.
This method can free a lot of memory! Please note that after calling this, the pointer to the ITexture may
no longer be valid, if it was not grabbed before by other parts of the engine for storing it longer. So it is a
good idea to set all materials which are using this texture to 0 or another texture first.
Parameters:
texture Texture to delete from the engine cache.
Renames a texture.
Parameters:
texture Pointer to the texture to rename.
newName New name for the texture.
Sets the driver’s ambient light color. Only used by the engine internally.
This color is set in the scene manager, see scene::ISceneManager::setAmbientLight().
Parameters:
color New color of the ambient light.
Parameters:
index The plane index. Must be between 0 and MaxUserClipPlanes.
plane The plane itself.
enable If true, enable the clipping plane else disable it.
Returns:
True if the clipping plane is usable.
Parameters:
color Color of the fog
linearFog Set this to true for linear fog, otherwise exponential fog is applied.
start Only used in linear fog mode (linearFog=true). Specifies where fog starts.
end Only used in linear fog mode (linearFog=true). Specifies where fog ends.
density Only used in expotential fog mode (linearFog=false). Must be a value between 0 and 1.
pixelFog Set this to false for vertex fog, and true if you want per-pixel fog.
rangeFog Set this to true to enable range-based vertex fog. The distance from the viewer is used to
compute the fog, not the z-coordinate. This is better, but slower. This is only available with D3D
and vertex fog.
Sets a material.
All 3d drawing functions will draw geometry using this material thereafter.
Parameters:
material: Material to be used from now on.
Parameters:
idx: Id of the material renderer. Can be a value of the E_MATERIAL_TYPE enum or a value which
was returned by addMaterialRenderer().
name: New name of the material renderer.
// ...
Please note that you cannot render 3D or 2D geometry with a render target as texture on it when you are
rendering the scene into this render target at the same time. It is usually only possible to render into a
texture between the IVideoDriver::beginScene() and endScene() method calls. And please also note that
the scene will be rendered upside down into the texture in some drivers (e.g. OpenGL vs. D3D). A simple
workaround for this is to flip the texture coordinates of the geometry where the render target texture is
displayed on.
Parameters:
texture New render target. Must be a texture created with IVideoDriver::createRenderTargetTexture().
If set to 0, it sets the previous render target which was set before the last setRenderTarget() call.
clearBackBuffer Clears the backbuffer of the render target with the color parameter
clearZBuffer Clears the zBuffer of the rendertarget. Note that, because the frame buffer shares the
zbuffer with the rendertarget, its zbuffer will be partially cleared too with this.
color The background color for the render target.
Returns:
True if sucessful and false if not.
These flags define how textures should be created. By changing this value, you can influence for example
the speed of rendering a lot. But please note that the video drivers take this value only as recommendation.
It could happen that you enable the ETCF_ALWAYS_16_BIT mode, but the driver still creates 32 bit
textures.
Parameters:
flag Texture creation flag.
enabled Specifies if the given flag should be enabled or disabled.
Parameters:
state Transformation type to be set, e.g. view, world, or projection.
mat Matrix describing the transformation.
7.106.3.78 virtual void irr::video::IVideoDriver::setViewPort (const core::rect< s32 > & area)
[pure virtual]
Parameters:
area: Rectangle defining the new area of rendering operations.
Parameters:
image Image to write.
filename Name of the file to write.
param Control parameter for the backend (e.g. compression level).
Returns:
True on successful write.
The documentation for this class was generated from the following file:
• IVideoDriver.h
irr::IReferenceCounted
irr::video::IVideoModeList
• virtual ∼IVideoModeList ()
destructor
destructor
Returns:
Size of each pixel of the current desktop video mode in bits.
Returns:
Size of screen in pixels of the current desktop video mode.
Returns:
Returns amount of video modes.
Parameters:
modeNumber: zero based index of the video mode.
Returns:
Size of each pixel of the specified video mode in bits.
Parameters:
modeNumber: zero based index of the video mode.
Returns:
Size of screen in pixels of the specified video mode.
The documentation for this class was generated from the following file:
• IVideoModeList.h
irr::IReferenceCounted
irr::io::IWriteFile
• virtual ∼IWriteFile ()
Destructor.
Destructor.
Definition at line 20 of file IWriteFile.h.
Returns:
File name as zero terminated character string.
Returns:
Current position in the file in bytes.
Parameters:
finalPos Destination position in the file.
relativeMovement If set to true, the position in the file is changed relative to current position. Other-
wise the position is changed from begin of file.
Returns:
True if successful, otherwise false.
7.108.3.4 virtual s32 irr::io::IWriteFile::write (const void ∗ buffer, u32 sizeToWrite) [pure
virtual]
Parameters:
buffer Pointer to buffer of bytes to write.
sizeToWrite Amount of bytes to write to the file.
Returns:
How much bytes were written.
The documentation for this class was generated from the following file:
• IWriteFile.h
• irrXML.h
irr::IReferenceCounted
irr::io::IXMLWriter
• virtual void writeElement (const wchar_t ∗name, bool empty, core::array< core::stringw > &names,
core::array< core::stringw > &values)=0
Writes an xml element with any number of attributes.
• virtual void writeElement (const wchar_t ∗name, bool empty=false, const wchar_t ∗attr1Name=0,
const wchar_t ∗attr1Value=0, const wchar_t ∗attr2Name=0, const wchar_t ∗attr2Value=0, const
wchar_t ∗attr3Name=0, const wchar_t ∗attr3Value=0, const wchar_t ∗attr4Name=0, const wchar_t
∗attr4Value=0, const wchar_t ∗attr5Name=0, const wchar_t ∗attr5Value=0)=0
• virtual void writeLineBreak ()=0
Writes a line break.
• virtual ∼IXMLWriter ()
Destructor.
Destructor.
Definition at line 26 of file IXMLWriter.h.
Parameters:
name: Name of the element
empty: Specifies if the element should be empty. Like "<foo />". If You set this to false, something
like this is written instead: "<foo>".
attr1Name: 1st attributes name
attr1Value: 1st attributes value
attr2Name: 2nd attributes name
attr2Value: 2nd attributes value
attr3Name: 3rd attributes name
attr3Value: 3rd attributes value
attr4Name: 4th attributes name
attr4Value: 4th attributes value
attr5Name: 5th attributes name
attr5Value: 5th attributes value
• IXMLWriter.h
• T getLengthSQ () const
Get squared length of the line.
• bool intersectWith (const line2d< T > &l, vector2d< T > &out) const
Tests if this line intersects with another line.
• line2d ()
Default constructor for line going from (0,0) to (1,1).
• void setLine (const vector2d< T > &nstart, const vector2d< T > &nend)
Set this line to new line going through the two points.
• void setLine (const T &xa, const T &ya, const T &xb, const T &yb)
Set this line to new line going through the two points.
Public Attributes
• vector2d< T > end
End point of the line.
7.111.2.2 template<class T> irr::core::line2d< T >::line2d (T xa, T ya, T xb, T yb) [inline]
7.111.2.3 template<class T> irr::core::line2d< T >::line2d (const vector2d< T > & start, const
vector2d< T > & end) [inline]
7.111.2.4 template<class T> irr::core::line2d< T >::line2d (const line2d< T > & other)
[inline]
Copy constructor.
Definition at line 28 of file line2d.h.
References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.
7.111.3.1 template<class T> f64 irr::core::line2d< T >::getAngleWith (const line2d< T > & l)
const [inline]
Parameters:
l Other line for test.
Returns:
Angle in degrees.
Returns:
Length of the line.
Returns:
Squared length of line.
Returns:
center of the line.
Tells us if the given point lies to the left, right, or on the line.
Returns:
0 if the point is on the line <0 if to the left, or >0 if to the right.
Returns:
Unit vector of this line.
Returns:
The vector of the line.
7.111.3.9 template<class T> bool irr::core::line2d< T >::intersectWith (const line2d< T > & l,
vector2d< T > & out) const [inline]
Parameters:
l: Other line to test intersection with.
out: If there is an intersection, the location of the intersection will be stored in this vector.
Returns:
True if there is an intersection, false if not.
Check if the given point is between start and end of the line.
Assumes that the point is already somewhere on the line.
Definition at line 145 of file line2d.h.
References irr::core::line2d< T >::end, irr::core::vector2d< T >::isBetweenPoints(), and
irr::core::line2d< T >::start.
Returns:
Returns true if point is between start and end, else false.
7.111.3.12 template<class T> bool irr::core::line2d< T >::operator!= (const line2d< T > &
other) const [inline]
7.111.3.17 template<class T> bool irr::core::line2d< T >::operator== (const line2d< T > &
other) const [inline]
7.111.3.18 template<class T> void irr::core::line2d< T >::setLine (const line2d< T > & line)
[inline]
7.111.3.19 template<class T> void irr::core::line2d< T >::setLine (const vector2d< T > &
nstart, const vector2d< T > & nend) [inline]
Set this line to new line going through the two points.
Definition at line 47 of file line2d.h.
References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.
7.111.3.20 template<class T> void irr::core::line2d< T >::setLine (const T & xa, const T & ya,
const T & xb, const T & yb) [inline]
Set this line to new line going through the two points.
Definition at line 45 of file line2d.h.
References irr::core::line2d< T >::end, and irr::core::line2d< T >::start.
• line2d.h
• T getLength () const
Get length of line.
• T getLengthSQ () const
Get squared length of line.
• line3d ()
Default constructor.
• void setLine (const vector3d< T > &nstart, const vector3d< T > &nend)
Set this line to a new line going through the two points.
• void setLine (const T &xa, const T &ya, const T &za, const T &xb, const T &yb, const T &zb)
Set this line to a new line going through the two points.
Public Attributes
Default constructor.
line from (0,0,0) to (1,1,1)
Definition at line 24 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
7.112.2.2 template<class T> irr::core::line3d< T >::line3d (T xa, T ya, T za, T xb, T yb, T zb)
[inline]
7.112.2.3 template<class T> irr::core::line3d< T >::line3d (const vector3d< T > & start, const
vector3d< T > & end) [inline]
Parameters:
point The point to compare to.
Returns:
The nearest point which is part of the line.
Parameters:
sorigin: Origin of the shpere.
sradius: Radius of the sphere.
outdistance: The distance to the first intersection point.
Returns:
Returns true if there is an intersection. If there is one, the distance to the first intersection point is
stored in outdistance.
Returns:
Length of line.
Returns:
Squared length of line.
Returns:
Center of line.
Returns:
vector of line.
Returns if the given point is between start and end of the line.
Assumes that the point is already somewhere on the line.
Parameters:
point The point to test.
Returns:
True if point is on the line between start and end, else false.
7.112.3.8 template<class T> bool irr::core::line3d< T >::operator!= (const line3d< T > & other)
const [inline]
7.112.3.13 template<class T> bool irr::core::line3d< T >::operator== (const line3d< T > &
other) const [inline]
7.112.3.14 template<class T> void irr::core::line3d< T >::setLine (const line3d< T > & line)
[inline]
7.112.3.15 template<class T> void irr::core::line3d< T >::setLine (const vector3d< T > &
nstart, const vector3d< T > & nend) [inline]
Set this line to a new line going through the two points.
Definition at line 48 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
7.112.3.16 template<class T> void irr::core::line3d< T >::setLine (const T & xa, const T & ya,
const T & za, const T & xb, const T & yb, const T & zb) [inline]
Set this line to a new line going through the two points.
Definition at line 45 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
• line3d.h
• Iterator begin ()
Gets first node.
• void clear ()
Clears the list, deletes all elements in the list.
• Iterator end ()
Gets end node.
• Iterator getLast ()
Gets last element.
• list ()
Default constructor for empty list.
• ∼list ()
Destructor.
Classes
• class ConstIterator
List iterator for const access.
• class Iterator
List iterator.
• struct SKListNode
List element node with pointer to previous and next element in the list.
7.113.2.2 template<class T> irr::core::list< T >::list (const list< T > & other) [inline]
Copy constructor.
Definition at line 137 of file irrList.h.
Destructor.
Definition at line 144 of file irrList.h.
Returns:
A const list iterator pointing to the beginning of the list.
Returns:
A list iterator pointing to the beginning of the list.
Returns:
True if the list is empty and false if not.
Returns:
Const list iterator pointing to null.
Returns:
List iterator pointing to null.
7.113.3.7 template<class T> Iterator irr::core::list< T >::erase (Iterator & it) [inline]
Erases an element.
Parameters:
it Iterator pointing to the element which shall be erased.
Returns:
Iterator pointing to next element.
Returns:
Const list iterator pointing to the last element of the list.
Returns:
List iterator pointing to the last element of the list.
Returns:
Amount of elements in the list.
7.113.3.11 template<class T> void irr::core::list< T >::insert_after (const Iterator & it, const T
& element) [inline]
Parameters:
it Iterator pointing to element after which the new element should be inserted.
element The new element to be inserted into the list.
7.113.3.12 template<class T> void irr::core::list< T >::insert_before (const Iterator & it, const T
& element) [inline]
Parameters:
it Iterator pointing to element before which the new element should be inserted.
element The new element to be inserted into the list.
7.113.3.13 template<class T> void irr::core::list< T >::operator= (const list< T > & other)
[inline]
Assignment operator.
Definition at line 151 of file irrList.h.
Parameters:
element Element to add to the list.
Parameters:
element: Element to add to the list.
• irrList.h
Friends
• class Iterator
• class list<T>
• irrList.h
Friends
• class list<T>
List iterator.
Definition at line 36 of file irrList.h.
• irrList.h
Public Types
• void clear ()
Clear the entire tree.
• ParentFirstIterator getParentFirstIterator ()
• ParentLastIterator getParentLastIterator ()
• Node ∗ getRoot () const
• bool insert (const KeyType &keyNew, const ValueType &v)
• bool isEmpty () const
• map ()
• AccessClass operator[ ] (const KeyType &k)
• bool remove (const KeyType &k)
• void set (const KeyType &k, const ValueType &v)
• u32 size () const
Returns the number of nodes in the tree.
• ∼map ()
Classes
• class AccessClass
• class Iterator
Normal Iterator.
• class ParentFirstIterator
• class ParentLastIterator
• class RBTree
red/black tree for map
Removes a node from the tree and returns it. The returned node must be deleted by the user
Parameters:
k: the key to remove
Returns:
: A pointer to the node, or 0 if not found
Parameters:
keyToFind: The key to find
Returns:
Returns 0 if node couldn’t be found.
Returns an iterator.
Definition at line 788 of file irrMap.h.
References irr::core::map< KeyType, ValueType >::getRoot().
Returns a ParentFirstIterator. Traverses the tree from top to bottom. Typical usage is when storing the tree
structure, because when reading it later (and inserting elements) the tree structure will be the same.
Definition at line 798 of file irrMap.h.
References irr::core::map< KeyType, ValueType >::getRoot().
Returns a ParentLastIterator to traverse the tree from bottom to top. Typical usage is when deleting all
elements in the tree because you must delete the children before you delete their parent.
Definition at line 808 of file irrMap.h.
References irr::core::map< KeyType, ValueType >::getRoot().
Referenced by irr::core::map< KeyType, ValueType >::clear().
Returns:
Returns a pointer to the root node, or 0 if the tree is empty.
Parameters:
keyNew: the index for this value
v: the value to insert
Returns:
Returns true if successful, false if it fails (already exists)
Returns:
Returns true if empty, false if not
7.116.4.10 ]
Returns:
True if the node was found and deleted
Replaces the value if the key already exists, otherwise inserts a new element.
Parameters:
k: the index for this value
v: the new value of
• irrMap.h
Friends
• class map<KeyType, ValueType>
• irrMap.h
Normal Iterator.
Definition at line 132 of file irrMap.h.
• irrMap.h
Parent First Iterator. Traverses the tree from top to bottom. Typical usage is when storing the tree structure,
because when reading it later (and inserting elements) the tree structure will be the same.
Definition at line 287 of file irrMap.h.
• irrMap.h
Parent Last Iterator Traverse the tree from bottom to top. Typical usage is when deleting all elements in
the tree because you must delete the children before you delete their parent.
Definition at line 395 of file irrMap.h.
• irrMap.h
• bool getIntersectionWithLine (const vector3d< T > &linePoint, const vector3d< T > &lineVect,
vector3d< T > &outIntersection) const
Returns an intersection with a 3d line.
• bool getIntersectionWithPlane (const plane3d< T > &other, vector3d< T > &outLinePoint, vec-
tor3d< T > &outLineVect) const
Intersects this plane with another.
• bool getIntersectionWithPlanes (const plane3d< T > &o1, const plane3d< T > &o2, vector3d< T
> &outPoint) const
Returns the intersection point with two other planes if there is one.
• f32 getKnownIntersectionWithLine (const vector3d< T > &linePoint1, const vector3d< T > &line-
Point2) const
Returns where on a line between two points an intersection with this plane happened.
• void setPlane (const vector3d< T > &point1, const vector3d< T > &point2, const vector3d< T >
&point3)
• void setPlane (const vector3d< T > &nvect, T d)
• void setPlane (const vector3d< T > &point, const vector3d< T > &nvector)
Public Attributes
• TD
Distance from origin.
7.121.2.2 template<class T> irr::core::plane3d< T >::plane3d (const vector3d< T > & MPoint,
const vector3d< T > & Normal) [inline]
7.121.2.3 template<class T> irr::core::plane3d< T >::plane3d (T px, T py, T pz, T nx, T ny, T nz)
[inline]
7.121.2.4 template<class T> irr::core::plane3d< T >::plane3d (const vector3d< T > & point1,
const vector3d< T > & point2, const vector3d< T > & point3) [inline]
Parameters:
point Point to classify its relation.
Returns:
ISREL3D_FRONT if the point is in front of the plane, ISREL3D_BACK if the point is behind of the
plane, and ISREL3D_PLANAR if the point is within the plane.
Returns:
True if there is a intersection.
Parameters:
linePoint1 Point 1 of the line.
linePoint2 Point 2 of the line.
outIntersection Place to store the intersection point, if there is one.
Returns:
True if there was an intersection, false if there was not.
Parameters:
lineVect Vector of the line to intersect with.
linePoint Point of the line to intersect with.
outIntersection Place to store the intersection point, if there is one.
Returns:
True if there was an intersection, false if there was not.
Parameters:
other Other plane to intersect with.
outLinePoint Base point of intersection line.
outLineVect Vector of intersection.
Returns:
True if there is a intersection, false if not.
Returns the intersection point with two other planes if there is one.
Definition at line 184 of file plane3d.h.
Referenced by irr::scene::SViewFrustum::getFarLeftDown(), irr::scene::SViewFrustum::getFarLeftUp(),
irr::scene::SViewFrustum::getFarRightDown(), and irr::scene::SViewFrustum::getFarRightUp().
Returns where on a line between two points an intersection with this plane happened.
Only useful if known that there is an intersection.
Parameters:
linePoint1 Point1 of the line to intersect with.
linePoint2 Point2 of the line to intersect with.
Returns:
Where on a line between two points an intersection with this plane happened. For example, 0.5 is
returned if the intersection happened exactly in the middle of the two points.
Parameters:
lookDirection: Look direction.
Returns:
Returns true if the plane is front facing and false if it is backfacing.
7.121.3.11 template<class T> bool irr::core::plane3d< T >::operator!= (const plane3d< T > &
other) const [inline]
7.121.3.12 template<class T> bool irr::core::plane3d< T >::operator== (const plane3d< T > &
other) const [inline]
Recalculates the distance from origin by applying a new member point to the plane.
Definition at line 138 of file plane3d.h.
Referenced by irr::core::plane3d< f32 >::plane3d(), and irr::core::plane3d< f32 >::setPlane().
7.121.3.14 template<class T> void irr::core::plane3d< T >::setPlane (const vector3d< T > &
point1, const vector3d< T > & point2, const vector3d< T > & point3) [inline]
7.121.3.15 template<class T> void irr::core::plane3d< T >::setPlane (const vector3d< T > &
nvect, T d) [inline]
7.121.3.16 template<class T> void irr::core::plane3d< T >::setPlane (const vector3d< T > &
point, const vector3d< T > & nvector) [inline]
• plane3d.h
Public Attributes
• TX
X coordinate of the position.
• TY
Y coordinate of the position.
• position2d.h
• void makeIdentity ()
Set quaternion to identity.
• void makeInverse ()
Inverts this quaternion.
• quaternion ()
Default Constructor.
Public Attributes
• f32 W
Quaternion elements.
• f32 X
Quaternion elements.
• f32 Y
Quaternion elements.
• f32 Z
Quaternion elements.
Default Constructor.
Definition at line 26 of file quaternion.h.
References W, X, Y, and Z.
Referenced by operator ∗(), operator+(), and rotationFromTo().
Constructor.
Definition at line 29 of file quaternion.h.
References W, X, Y, and Z.
Parameters:
angle Rotation Angle in radians.
axis Rotation axis.
References W, X, Y, and Z.
Referenced by irr::scene::SMD3QuaterionTag::setto().
Multiplication operator.
Definition at line 517 of file quaternion.h.
References irr::core::vector3d< T >::crossProduct(), W, X, Y, and Z.
Multiplication operator.
Definition at line 246 of file quaternion.h.
References quaternion(), W, X, Y, and Z.
Multiplication operator.
Definition at line 232 of file quaternion.h.
References W, X, Y, and Z.
Multiplication operator.
Definition at line 259 of file quaternion.h.
Multiplication operator.
Definition at line 252 of file quaternion.h.
References W, X, Y, and Z.
Add operator.
Definition at line 266 of file quaternion.h.
References quaternion(), W, X, Y, and Z.
Assignment operator.
Definition at line 160 of file quaternion.h.
References W, X, Y, and Z.
Equalilty operator.
Definition at line 144 of file quaternion.h.
References W, X, Y, and Z.
7.123.3.18 void irr::core::quaternion::rotationFromTo (const vector3df & from, const vector3df &
to) [inline]
Set this quaternion to the result of the interpolation between two quaternions.
Definition at line 423 of file quaternion.h.
References getDotProduct(), irr::core::PI, set(), W, X, Y, and Z.
7.123.3.23 void irr::core::quaternion::toAngleAxis (f32 & angle, core::vector3df & axis) const
[inline]
Quaternion elements.
Definition at line 118 of file quaternion.h.
Referenced by fromAngleAxis(), getDotProduct(), getMatrix(), getMatrix_transposed(), makeIdentity(),
normalize(), operator ∗(), operator ∗=(), operator+(), operator=(), operator==(), quaternion(), rotation-
FromTo(), set(), slerp(), toAngleAxis(), and toEuler().
Quaternion elements.
Definition at line 118 of file quaternion.h.
Referenced by fromAngleAxis(), getDotProduct(), getMatrix(), getMatrix_transposed(), makeIdentity(),
makeInverse(), normalize(), operator ∗(), operator ∗=(), operator+(), operator=(), operator==(), quater-
nion(), rotationFromTo(), set(), slerp(), toAngleAxis(), and toEuler().
Quaternion elements.
Definition at line 118 of file quaternion.h.
Referenced by fromAngleAxis(), getDotProduct(), getMatrix(), getMatrix_transposed(), makeIdentity(),
makeInverse(), normalize(), operator ∗(), operator ∗=(), operator+(), operator=(), operator==(), quater-
nion(), rotationFromTo(), set(), slerp(), toAngleAxis(), and toEuler().
Quaternion elements.
Definition at line 118 of file quaternion.h.
Referenced by fromAngleAxis(), getDotProduct(), getMatrix(), getMatrix_transposed(), makeIdentity(),
makeInverse(), normalize(), operator ∗(), operator ∗=(), operator+(), operator=(), operator==(), quater-
nion(), rotationFromTo(), set(), slerp(), toAngleAxis(), and toEuler().
The documentation for this class was generated from the following file:
• quaternion.h
• T getHeight () const
Returns height of rectangle.
• T getWidth () const
Returns width of rectangle.
Public Attributes
• position2d< T > LowerRightCorner
• position2d< T > UpperLeftCorner
Rectangle template.
Mostly used by 2D GUI elements and for 2D drawing methods. It has 2 positions instead of position and
dimension and a fast method for collision detection with other rectangles and points.
Definition at line 23 of file rect.h.
7.124.2.3 template<class T> irr::core::rect< T >::rect (const position2d< T > & upperLeft, const
position2d< T > & lowerRight) [inline]
7.124.2.4 template<class T> irr::core::rect< T >::rect (const position2d< T > & pos, const
dimension2d< T > & size) [inline]
Adds a point to the bounding rectangle, causing it to grow bigger, if point is outside of the box.
Parameters:
x: X Coordinate of the point to add to this box.
y: Y Coordinate of the point to add to this box.
Adds a point to the rectangle, causing it to grow bigger, if point is outside of the box
Parameters:
p: Point to add into the box.
7.124.3.3 template<class T> void irr::core::rect< T >::clipAgainst (const rect< T > & other)
[inline]
7.124.3.4 template<class T> bool irr::core::rect< T >::constrainTo (const rect< T > & other)
[inline]
Returns:
: returns true on success, false if not possible
7.124.3.10 template<class T> bool irr::core::rect< T >::isPointInside (const position2d< T > &
pos) const [inline]
Parameters:
pos: Position to test if it lies within this rectangle.
Returns:
Returns true if the position is within the rectangle, false if not.
7.124.3.11 template<class T> bool irr::core::rect< T >::isRectCollided (const rect< T > &
other) const [inline]
Returns if the rect is valid to draw. It could be invalid if the UpperLeftCorner is lower or more right than
the LowerRightCorner, or if any dimension is 0.
Definition at line 202 of file rect.h.
7.124.3.13 template<class T> bool irr::core::rect< T >::operator!= (const rect< T > & other)
const [inline]
7.124.3.16 template<class T> rect<T> irr::core::rect< T >::operator- (const position2d< T > &
pos) const [inline]
7.124.3.18 template<class T> bool irr::core::rect< T >::operator< (const rect< T > & other)
const [inline]
7.124.3.19 template<class T> bool irr::core::rect< T >::operator== (const rect< T > & other)
const [inline]
If the lower right corner of the rect is smaller then the upper left, the points are swapped.
Definition at line 182 of file rect.h.
Referenced by irr::gui::IGUIElement::updateAbsolutePosition().
• rect.h
irr::video::S3DVertex
irr::video::S3DVertex2TCoords irr::video::S3DVertexTangents
• S3DVertex (f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv)
constructor
• S3DVertex ()
default constructor
Public Attributes
• SColor Color
Color.
• core::vector3df Normal
Normal vector.
• core::vector3df Pos
Position.
default constructor
Definition at line 45 of file S3DVertex.h.
7.125.2.2 irr::video::S3DVertex::S3DVertex (f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32
tu, f32 tv) [inline]
constructor
Definition at line 48 of file S3DVertex.h.
References Color, Normal, Pos, and TCoords.
constructor
Definition at line 52 of file S3DVertex.h.
References Color, Normal, Pos, and TCoords.
Color.
Definition at line 63 of file S3DVertex.h.
Referenced by irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), irr::scene::SSkinMeshBuffer::Move-
To_Tangents(), operator!=(), operator<(), operator==(), and S3DVertex().
Normal vector.
Definition at line 60 of file S3DVertex.h.
Referenced by irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), irr::scene::SSkinMeshBuffer::Move-
To_Tangents(), operator!=(), operator<(), operator==(), and S3DVertex().
Position.
Definition at line 57 of file S3DVertex.h.
Referenced by irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), irr::scene::SSkinMeshBuffer::Move-
To_Tangents(), operator!=(), operator<(), operator==(), and S3DVertex().
Texture coordinates.
Definition at line 66 of file S3DVertex.h.
Referenced by irr::scene::SSkinMeshBuffer::MoveTo_2TCoords(), irr::scene::SSkinMeshBuffer::Move-
To_Tangents(), operator!=(), operator<(), operator==(), and S3DVertex().
The documentation for this struct was generated from the following file:
• S3DVertex.h
irr::video::S3DVertex
irr::video::S3DVertex2TCoords
• S3DVertex2TCoords (f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv)
constructor with the same texture coords and normal
• S3DVertex2TCoords (f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv, f32 tu2, f32
tv2)
constructor with all values
• S3DVertex2TCoords (const core::vector3df &pos, SColor color, const core::vector2d< f32 > &tco-
ords, const core::vector2d< f32 > &tcoords2)
constructor with two different texture coords, but no normal
• S3DVertex2TCoords (f32 x, f32 y, f32 z, SColor c, f32 tu, f32 tv, f32 tu2, f32 tv2)
constructor with two different texture coords, but no normal
• S3DVertex2TCoords ()
default constructor
Public Attributes
default constructor
Definition at line 102 of file S3DVertex.h.
Inequality operator.
Definition at line 145 of file S3DVertex.h.
References TCoords2.
Equality operator.
Definition at line 138 of file S3DVertex.h.
References TCoords2.
• S3DVertex.h
irr::video::S3DVertex
irr::video::S3DVertexTangents
• S3DVertexTangents (f32 x, f32 y, f32 z, f32 nx=0.0f, f32 ny=0.0f, f32 nz=0.0f, SColor c=0x-
FFFFFFFF, f32 tu=0.0f, f32 tv=0.0f, f32 tanx=0.0f, f32 tany=0.0f, f32 tanz=0.0f, f32 bx=0.0f, f32
by=0.0f, f32 bz=0.0f)
constructor
• S3DVertexTangents ()
default constructor
Public Attributes
• core::vector3df Binormal
Binormal vector (tangent x normal).
• core::vector3df Tangent
Tangent vector along the x-axis of the texture.
default constructor
Definition at line 169 of file S3DVertex.h.
constructor
Definition at line 172 of file S3DVertex.h.
References Binormal, and Tangent.
constructor
Definition at line 179 of file S3DVertex.h.
constructor
Definition at line 184 of file S3DVertex.h.
References Binormal, and Tangent.
• S3DVertex.h
irr::IReferenceCounted
irr::scene::IMesh
irr::scene::IAnimatedMesh
irr::scene::SAnimatedMesh
• virtual IMesh ∗ getMesh (s32 frame, s32 detailLevel, s32 startFrameLoop=-1, s32 endFrameLoop=-
1)
Returns the IMesh interface for a frame.
• void recalculateBoundingBox ()
Recalculates the bounding box.
• SAnimatedMesh ()
constructor
• virtual ∼SAnimatedMesh ()
destructor
Public Attributes
• core::aabbox3d< f32 > Box
The bounding box of this mesh.
• E_ANIMATED_MESH_TYPE Type
Tyhe type fo the mesh.
constructor
Definition at line 22 of file SAnimatedMesh.h.
References irr::scene::EAMT_UNKNOWN, irr::IReferenceCounted::setDebugName(), and Type.
constructor
Definition at line 31 of file SAnimatedMesh.h.
References addMesh(), recalculateBoundingBox(), irr::IReferenceCounted::setDebugName(), and Type.
destructor
Definition at line 42 of file SAnimatedMesh.h.
References Meshes, and irr::core::array< T, TAlloc >::size().
adds a Mesh
Definition at line 76 of file SAnimatedMesh.h.
References Meshes, and irr::core::array< T, TAlloc >::push_back().
Referenced by SAnimatedMesh().
Returns:
A bounding box of this mesh is returned.
Implements irr::scene::IMesh.
Definition at line 88 of file SAnimatedMesh.h.
References Box.
Referenced by recalculateBoundingBox().
Returns:
Amount of frames. If the amount is 1, it is a static, non animated mesh.
Implements irr::scene::IAnimatedMesh.
Definition at line 52 of file SAnimatedMesh.h.
References Meshes, and irr::core::array< T, TAlloc >::size().
Parameters:
frame: Frame number as zero based index. The maximum frame number is getFrameCount() - 1;
detailLevel: Level of detail. 0 is the lowest, 255 the highest level of detail. Most meshes will ignore
the detail level.
startFrameLoop: start frame
endFrameLoop: end frame
Returns:
The animated mesh based on a detail level.
Implements irr::scene::IAnimatedMesh.
Definition at line 66 of file SAnimatedMesh.h.
References irr::core::array< T, TAlloc >::empty(), and Meshes.
Parameters:
material: material to search for
Returns:
Returns the pointer to the mesh buffer or NULL if there is no such mesh buffer.
Implements irr::scene::IMesh.
Definition at line 146 of file SAnimatedMesh.h.
References irr::core::array< T, TAlloc >::empty(), and Meshes.
• SAnimatedMesh.h
Public Attributes
• const c8 ∗ Filename
Optional filename.
• s32 Flags
Combination of E_ATTRIBUTE_READ_WRITE_FLAGS or other, custom ones.
Constructor.
Definition at line 37 of file IAttributeExchangingObject.h.
References Filename, and Flags.
Optional filename.
Definition at line 46 of file IAttributeExchangingObject.h.
Referenced by SAttributeReadWriteOptions().
Referenced by SAttributeReadWriteOptions().
The documentation for this struct was generated from the following file:
• IAttributeExchangingObject.h
Public Attributes
• f32 param
• video::E_MATERIAL_TYPE type
• IQ3Shader.h
• SColor getInterpolated_quadratic (const SColor &c1, const SColor &c2, f32 d) const
Returns interpolated color. ( quadratic ).
• SColor ()
Constructor of the Color. Does nothing.
Public Attributes
• u32 color
color in A8R8G8B8 Format
Constructs the color from 4 values representing the alpha, red, green and blue component.
Must be values between 0 and 255.
Definition at line 185 of file SColor.h.
References color.
Returns:
Value between 0 and 255, specifying how blue the color is. 0 means no blue, 255 means full blue.
Returns:
Value between 0 and 255, specifying how green the color is. 0 means no green, 255 means full green.
Parameters:
other: Other color
d: value between 0.0f and 1.0f
Returns:
Interpolated color.
Parameters:
c1: first color to interpolate with
c2: second color to interpolate with
d: value between 0.0f and 1.0f.
Returns:
Value between 0 and 255, specifying how red the color is. 0 means no red, 255 means full red.
Returns:
True if the colors are different, and false if they are the same.
Parameters:
other Color to add to this color
Returns:
Addition of the two colors, clamped to 0..255 values
comparison operator
Returns:
True if this color is smaller than the other one
Returns:
True if the colors are the same, and false if not.
Parameters:
a: Alpha component of the color. The alpha component defines how transparent a color should be. Has
to be a value between 0 and 255. 255 means not transparent (opaque), 0 means fully transparent.
r: Sets the red component of the Color. Has to be a value between 0 and 255. 0 means no red, 255
means full red.
g: Sets the green component of the Color. Has to be a value between 0 and 255. 0 means no green,
255 means full green.
b: Sets the blue component of the Color. Has to be a value between 0 and 255. 0 means no blue, 255
means full blue.
Parameters:
a: Has to be a value between 0 and 255. 255 means not transparent (opaque), 0 means fully transpar-
ent.
Parameters:
b: Has to be a value between 0 and 255. 0 means no blue, 255 means full blue.
Parameters:
g: Has to be a value between 0 and 255. 0 means no green, 255 means full green.
Parameters:
r: Has to be a value between 0 and 255. 0 means no red, 255 means full red.
Parameters:
dest: address where the 4x8 bit OpenGL color is stored.
• SColor.h
• SColorf getInterpolated_quadratic (const SColorf &c1, const SColorf &c2, f32 d) const
Returns interpolated color. ( quadratic ).
• SColorf (SColor c)
Constructs a color from 32 bit Color.
• void set (f32 aa, f32 rr, f32 gg, f32 bb)
Sets all four color components to new values at once.
Public Attributes
• f32 a
alpha color component
• f32 b
blue component
• f32 g
green color component
• f32 r
red color component
7.132.2.1 irr::video::SColorf::SColorf (f32 r = 0.f, f32 g = 0.f, f32 b = 0.f, f32 a = 1.f)
[inline]
Constructs a color from up to four color values: red, green, blue, and alpha.
Parameters:
r: Red color component. Should be a value between 0.0f meaning no red and 1.0f, meaning full red.
g: Green color component. Should be a value between 0.0f meaning no green and 1.0f, meaning full
green.
b: Blue color component. Should be a value between 0.0f meaning no blue and 1.0f, meaning full
blue.
a: Alpha color component of the color. The alpha component defines how transparent a color should
be. Has to be a value between 0.0f and 1.0f, 1.0f means not transparent (opaque), 0.0f means
fully transparent.
Parameters:
c: 32 bit color from which this SColorf class is constructed from.
Returns the alpha component of the color in the range 0.0 to 1.0.
Definition at line 457 of file SColor.h.
References a.
Returns the blue component of the color in the range 0.0 to 1.0.
Definition at line 466 of file SColor.h.
References b.
Returns the green component of the color in the range 0.0 to 1.0.
Definition at line 463 of file SColor.h.
References g.
Parameters:
other: Other color
d: value between 0.0f and 1.0f
Returns:
Interpolated color.
Parameters:
c1: first color to interpolate with
Returns the red component of the color in the range 0.0 to 1.0.
Definition at line 460 of file SColor.h.
References r.
7.132.3.7 void irr::video::SColorf::set (f32 aa, f32 rr, f32 gg, f32 bb) [inline]
Parameters:
aa: Alpha component. Should be a value between 0.0f meaning fully transparent and 1.0f, meaning
opaque.
rr: Red color component. Should be a value between 0.0f meaning no red and 1.0f, meaning full red.
gg: Green color component. Should be a value between 0.0f meaning no green and 1.0f, meaning full
green.
bb: Blue color component. Should be a value between 0.0f meaning no blue and 1.0f, meaning full
blue.
7.132.3.8 void irr::video::SColorf::set (f32 rr, f32 gg, f32 bb) [inline]
Parameters:
rr: Red color component. Should be a value between 0.0f meaning no red (=black) and 1.0f, meaning
full red.
gg: Green color component. Should be a value between 0.0f meaning no green (=black) and 1.0f,
meaning full green.
bb: Blue color component. Should be a value between 0.0f meaning no blue (=black) and 1.0f, mean-
ing full blue.
blue component
Definition at line 475 of file SColor.h.
Referenced by getBlue(), getInterpolated(), SColorf(), set(), setColorComponentValue(), and toSColor().
• SColor.h
Public Attributes
• f32 Hue
• f32 Luminance
• f32 Saturation
• SColor.h
Public Attributes
• EEVENT_TYPE EventType
• SGUIEvent GUIEvent
• SKeyInput KeyInput
• SLogEvent LogEvent
• SMouseInput MouseInput
• SUserEvent UserEvent
Classes
• struct SGUIEvent
Any kind of GUI event.
• struct SKeyInput
Any kind of keyboard event.
• struct SLogEvent
Any kind of log event.
• struct SMouseInput
Any kind of mouse event.
• struct SUserEvent
Any kind of user event.
SEvents hold information about an event. See irr::IEventReceiver for details on event handling.
Definition at line 160 of file IEventReceiver.h.
• IEventReceiver.h
Public Attributes
• gui::IGUIElement ∗ Caller
IGUIElement who called the event.
• gui::IGUIElement ∗ Element
If the event has something to do with another element, it will be held here.
• gui::EGUI_EVENT_TYPE EventType
Type of GUI Event.
If the event has something to do with another element, it will be held here.
Definition at line 169 of file IEventReceiver.h.
• IEventReceiver.h
Public Attributes
• wchar_t Char
Character corresponding to the key (0, if not a character).
• bool Control
True if ctrl was also pressed.
• EKEY_CODE Key
Key which has been pressed or released.
• bool PressedDown
If not true, then the key was left up.
• bool Shift
True if shift was also pressed.
• IEventReceiver.h
Public Attributes
• ELOG_LEVEL Level
Log level in which the text has been logged.
• const c8 ∗ Text
Pointer to text which has been logged.
• IEventReceiver.h
Public Attributes
• EMOUSE_INPUT_EVENT Event
Type of mouse event.
• f32 Wheel
mouse wheel delta, usually 1.0 or -1.0.
• s32 X
X position of mouse cursor.
• s32 Y
Y position of mouse cursor.
• IEventReceiver.h
Public Attributes
• s32 UserData1
Some user specified data as int.
• s32 UserData2
Another user specified data as int.
• f32 UserData3
Some user specified data as float.
• IEventReceiver.h
structure for holding data describing a driver and operating system specific data.
This data can be retrived by IVideoDriver::getExposedVideoData(). Use this with caution. This only should
be used to make it possible to extend the engine easily without modification of its source. Note that this
structure does not contain any valid data, if you are using the software or the null device.
Definition at line 25 of file SExposedVideoData.h.
Window handle.
Get with for example HWND h = reinterpret_cast<HWND>(exposedData.D3D9.HWnd)
Definition at line 69 of file SExposedVideoData.h.
• SExposedVideoData.h
Public Attributes
• core::array< SGUISpriteFrame > Frames
• u32 frameTime
• IGUISpriteBank.h
Public Attributes
• u32 rectNumber
• u32 textureNumber
• IGUISpriteBank.h
• SIrrlichtCreationParameters ()
Constructs a SIrrlichtCreationParameters structure with default values.
Public Attributes
• bool AntiAlias
Specifies if the device should use fullscreen anti aliasing.
• u32 Bits
Bits per pixel in fullscreen mode. Ignored if windowed mode. Default: 16.
• video::E_DRIVER_TYPE DriverType
Type of the device.
• IEventReceiver ∗ EventReceiver
A user created event receiver.
• bool Fullscreen
Should be set to true if the device should run in fullscreen.
• bool HighPrecisionFPU
Specifies if the device should use high precision FPU setting.
• const c8 ∗ SDK_version_do_not_use
Don’t use or change this parameter.
• bool Stencilbuffer
Specifies if the stencil buffer should be enabled.
• bool Vsync
Specifies vertical syncronisation.
• void ∗ WindowId
Window Id.
Bits per pixel in fullscreen mode. Ignored if windowed mode. Default: 16.
Definition at line 40 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().
Window Id.
If this is set to a value other than 0, the Irrlicht Engine will be created in an already existing window. For
windows, set this to the HWND of the window you want. The windowSize and FullScreen options will
be ignored when using the WindowId parameter. Default this is set to 0. To make Irrlicht run inside the
custom window, you still will have to draw Irrlicht on your own. You can use this loop, as usual:
while (device->run())
{
driver->beginScene(true, true, 0);
smgr->drawAll();
driver->endScene();
}
Instead of this, you can also simply use your own message loop using GetMessage, DispatchMessage and
whatever. Calling IrrlichtDevice::run() will cause Irrlicht to dispatch messages internally too. You need
not call Device->run() if you want to do your own message dispatching loop, but Irrlicht will not be able
to fetch user input then and you have to do it on your own using the window messages, DirectInput, or
whatever. Also, you’ll have to increment the Irrlicht timer. An alternative, own message dispatching loop
without device->run() would look like this:
MSG msg;
while (true)
{
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
if (msg.message == WM_QUIT)
break;
}
However, there is no need to draw the picture this often. Just do it how you like.
Definition at line 128 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().
Size of the window or the video mode in fullscreen mode. Default: 800x600.
Definition at line 37 of file SIrrCreationParameters.h.
Referenced by SIrrlichtCreationParameters().
The documentation for this struct was generated from the following file:
• SIrrCreationParameters.h
Public Attributes
• EKEY_ACTION Action
• EKEY_CODE KeyCode
• SKeyMap.h
Public Attributes
• SColorf AmbientColor
Ambient color emitted by the light.
• core::vector3df Attenuation
Attenuation factors (constant, linear, quadratic).
• bool CastShadows
Does the light cast shadows?
• SColorf DiffuseColor
Diffuse color emitted by the light.
• core::vector3df Direction
Read-ONLY! Direction of the light.
• f32 Falloff
The light strength’s decrease between Outer and Inner cone.
• f32 InnerCone
The angle of the spot’s inner cone. Ignored for other lights.
• f32 OuterCone
The angle of the spot’s outer cone. Ignored for other lights.
• core::vector3df Position
Read-ONLY! Position of the light.
• f32 Radius
Radius of light. Everything within this radius be be lighted.
• SColorf SpecularColor
Specular color emitted by the light.
• E_LIGHT_TYPE Type
Type of the light. Default: ELT_POINT.
The angle of the spot’s inner cone. Ignored for other lights.
Definition at line 69 of file SLight.h.
Referenced by SLight().
The angle of the spot’s outer cone. Ignored for other lights.
Definition at line 66 of file SLight.h.
Referenced by SLight().
• SLight.h
• SMaterial ()
Default constructor. Creates a solid, lit material with white colors.
Public Attributes
• SColor AmbientColor
How much ambient light (a global light) is reflected by this material.
• bool BackfaceCulling
Is backface culling enabled? Default: true.
• SColor DiffuseColor
How much diffuse light coming from a light source is reflected by this material.
• SColor EmissiveColor
Light emitted by this material. Default is to emit no light.
• bool FogEnable
Is fog enabled? Default: false.
• bool GouraudShading
Flat or Gouraud shading? Default: true.
• bool Lighting
Will this material be lighted? Default: true.
• E_MATERIAL_TYPE MaterialType
Type of the material. Specifies how everything is blended together.
• f32 MaterialTypeParam
Free parameter, dependent on the material type.
• f32 MaterialTypeParam2
Second free parameter, dependent on the material type.
• bool NormalizeNormals
Should normals be normalized? Default: false.
• bool PointCloud
Draw as point cloud or filled triangles? Default: false.
• f32 Shininess
Value affecting the size of specular highlights.
• SColor SpecularColor
How much specular light (highlights from a light) is reflected.
• f32 Thickness
Thickness of non-3dimensional elements such as lines and points.
• bool Wireframe
Draw as wireframe or filled triangles? Default: false.
• u32 ZBuffer
• bool ZWriteEnable
Is the zbuffer writeable or is it read-only. Default: true.
Copy constructor.
Parameters:
other Material to copy from.
Parameters:
flag The flag to query.
Returns:
The current value of the flag.
Parameters:
i The desired level.
Returns:
Texture for texture level i, if defined, else 0.
Parameters:
i The desired level.
Returns:
Texture matrix for texture level i, or identity matrix for levels larger than MATERIAL_MAX_-
TEXTURES.
Parameters:
i The desired level. Must not be larger than MATERIAL_MAX_TEXTURES.
Returns:
Texture matrix for texture level i.
Inequality operator.
Parameters:
b Material to compare to.
Returns:
True if the materials differ, else false.
Assignment operator.
Parameters:
other Material to copy from.
Equality operator.
Parameters:
b Material to compare to.
Returns:
True if the materials are equal, else false.
Parameters:
flag The flag to be set.
value The new value for the flag.
Parameters:
i The desired level.
tex Texture for texture level i.
How much diffuse light coming from a light source is reflected by this material.
The default is full white.
Definition at line 131 of file SMaterial.h.
Referenced by operator!=(), operator=(), and SMaterial().
sceneNode->getMaterial(0).Shininess = 20.0f;
sceneNode->getMaterial(0).SpecularColor.set(255,255,255,255);
The specular color of the dynamic lights (SLight::SpecularColor) will influence the the highlight color too,
but they are set to a useful value by default when creating the light scene node. Here is a simple example
on how to use specular highlights:
smgr->getMesh("data/faerie.md2"));
node->setMaterialTexture(0, driver->getTexture("data/Faerie2.pcx")); // set diffuse textur
node->setMaterialFlag(video::EMF_LIGHTING, true); // enable dynamic lighting
node->getMaterial(0).Shininess = 20.0f; // set size of specular highlights
material.Wireframe=true
or
material.setFlag(EMF_WIREFRAME, true);
• SMaterial.h
• SMaterialLayer ()
Default constructor.
• ∼SMaterialLayer ()
Destructor.
Public Attributes
• bool AnisotropicFilter
Is anisotropic filtering enabled? Default: false.
• bool BilinearFilter
Is bilinear filtering enabled? Default: true.
• ITexture ∗ Texture
Texture.
• core::matrix4 ∗ TextureMatrix
Texture Matrix.
• E_TEXTURE_CLAMP TextureWrap
Texture Clamp Mode.
• bool TrilinearFilter
Is trilinear filtering enabled? Default: false.
Struct for holding material parameters which exist per texture layer.
Definition at line 38 of file SMaterialLayer.h.
Default constructor.
Definition at line 42 of file SMaterialLayer.h.
References AnisotropicFilter, BilinearFilter, irr::video::ETC_REPEAT, Texture, TextureMatrix, Texture-
Wrap, and TrilinearFilter.
Copy constructor.
Parameters:
other Material layer to copy from.
Destructor.
Definition at line 60 of file SMaterialLayer.h.
References TextureMatrix.
Returns:
Texture matrix of this layer.
Returns:
Texture matrix of this layer.
Inequality operator.
Parameters:
b Layer to compare to.
Returns:
True if layers are different, else false.
Assignment operator.
Parameters:
other Material layer to copy from.
Returns:
This material layer, updated.
Equality operator.
Parameters:
b Layer to compare to.
Returns:
True if layers are equal, else false.
Parameters:
mat New texture matrix for this layer.
Texture.
Texture Matrix.
Do not access this element directly as the internal ressource management has to cope with Null pointers
etc.
Definition at line 102 of file SMaterialLayer.h.
Referenced by getTextureMatrix(), operator!=(), operator=(), setTextureMatrix(),
irr::video::SMaterial::SMaterial(), SMaterialLayer(), and ∼SMaterialLayer().
• SMaterialLayer.h
Public Attributes
• s32 first
First frame.
• s32 fps
Frames per second.
• s32 looping
Looping frames.
• s32 num
Last frame.
First frame.
Definition at line 67 of file IAnimatedMeshMD3.h.
Looping frames.
Definition at line 71 of file IAnimatedMeshMD3.h.
Last frame.
Definition at line 69 of file IAnimatedMeshMD3.h.
The documentation for this struct was generated from the following file:
• IAnimatedMeshMD3.h
Public Attributes
• s32 Index [3]
Triangle Index.
Definition at line 138 of file IAnimatedMeshMD3.h.
• IAnimatedMeshMD3.h
Public Attributes
• s8 fileName [68]
• s32 fileSize
• c8 headerID [4]
• s32 headerSize
• s32 numFrames
• s32 numMaxSkins
• s32 numMeshes
• s32 numTags
• s32 tagEnd
• s32 tagStart
• s32 Version
7.150.2.1 s8 irr::scene::SMD3Header::fileName[68]
7.150.2.3 c8 irr::scene::SMD3Header::headerID[4]
• IAnimatedMeshMD3.h
irr::IReferenceCounted
irr::scene::SMD3Mesh
Public Attributes
• core::array< SMD3MeshBuffer ∗ > Buffer
• SMD3Header MD3Header
• core::stringc Name
• SMD3QuaterionTagList TagList
• IAnimatedMeshMD3.h
irr::IReferenceCounted
irr::scene::SMD3MeshBuffer
Public Attributes
• IAnimatedMeshMD3.h
Public Attributes
• c8 meshID [4]
• c8 meshName [68]
• s32 numFrames
• s32 numShader
• s32 numTriangles
• s32 numVertices
• s32 offset_end
• s32 offset_shaders
• s32 offset_st
• s32 offset_triangles
• s32 vertexStart
7.153.2.1 c8 irr::scene::SMD3MeshHeader::meshID[4]
7.153.2.2 c8 irr::scene::SMD3MeshHeader::meshName[68]
• IAnimatedMeshMD3.h
Public Attributes
• core::stringc Name
• core::vector3df position
• core::quaternion rotation
• IAnimatedMeshMD3.h
irr::IReferenceCounted
irr::scene::SMD3QuaterionTagList
Public Attributes
• core::array< SMD3QuaterionTag > Container
7.155.2.2 ]
• IAnimatedMeshMD3.h
Public Attributes
• f32 u
• f32 v
Texture Coordinate.
Definition at line 131 of file IAnimatedMeshMD3.h.
• IAnimatedMeshMD3.h
Public Attributes
• u8 normal [2]
• s16 position [3]
7.157.2.1 u8 irr::scene::SMD3Vertex::normal[2]
• IAnimatedMeshMD3.h
irr::IReferenceCounted
irr::scene::IMesh
irr::scene::SMesh
• void recalculateBoundingBox ()
recalculates the bounding box
• SMesh ()
constructor
• virtual ∼SMesh ()
destructor
Public Attributes
• core::aabbox3d< f32 > BoundingBox
The bounding box of this mesh.
constructor
Definition at line 21 of file SMesh.h.
References irr::IReferenceCounted::setDebugName().
destructor
Definition at line 29 of file SMesh.h.
References MeshBuffers, and irr::core::array< T, TAlloc >::size().
adds a MeshBuffer
Definition at line 87 of file SMesh.h.
References MeshBuffers, and irr::core::array< T, TAlloc >::push_back().
Implements irr::scene::IMesh.
Definition at line 97 of file SMesh.h.
References MeshBuffers, and irr::core::array< T, TAlloc >::size().
• SMesh.h
Public Attributes
• s32 func
• s32 masterfunc0
• s32 masterfunc1
• f32 phase
• s32 tcgen
• f32 wave
• f32 amp
• f32 base
• f32 bulgeheight
• f32 bulgespeed
• f32 bulgewidth
• f32 freq
• IQ3Shader.h
Public Attributes
• video::SColor color
Current color of the particle.
• u32 endTime
End life time of the particle.
• core::vector3df pos
Position of the particle.
• video::SColor startColor
Original color of the particle.
• u32 startTime
Start life time of the particle.
• core::vector3df startVector
Original direction and speed of the particle.
• core::vector3df vector
Direction and speed of the particle.
• SParticle.h
Public Attributes
• s32 id
• core::stringc name
• SVarGroupList ∗ VarGroup
• IQ3Shader.h
irr::IReferenceCounted
irr::scene::IMeshBuffer
irr::scene::SSharedMeshBuffer
• virtual void append (const void ∗const vertices, u32 numVertices, const u16 ∗const indices, u32
numIndices)
append the vertices and indices to the current buffer
• SSharedMeshBuffer ()
constructor
• virtual ∼SSharedMeshBuffer ()
destructor
Public Attributes
• core::aabbox3df BoundingBox
Bounding box.
• video::SMaterial Material
material of this meshBuffer
constructor
Definition at line 19 of file SSharedMeshBuffer.h.
References irr::IReferenceCounted::setDebugName(), and Vertices.
constructor
Definition at line 27 of file SSharedMeshBuffer.h.
References irr::IReferenceCounted::setDebugName(), and Vertices.
destructor
Definition at line 35 of file SSharedMeshBuffer.h.
Implements irr::scene::IMeshBuffer.
Definition at line 107 of file SSharedMeshBuffer.h.
Bounding box.
Definition at line 138 of file SSharedMeshBuffer.h.
Referenced by getBoundingBox(), recalculateBoundingBox(), and setBoundingBox().
Array of Indices.
Definition at line 136 of file SSharedMeshBuffer.h.
Referenced by getIndexCount(), getIndices(), and recalculateBoundingBox().
• SSharedMeshBuffer.h
irr::IReferenceCounted
irr::scene::IMeshBuffer
irr::scene::SSkinMeshBuffer
• virtual void append (const void ∗const vertices, u32 numVertices, const u16 ∗const indices, u32
numIndices)
append the vertices and indices to the current buffer
Public Attributes
• core::aabbox3d< f32 > BoundingBox
• core::array< u16 > Indices
• video::SMaterial Material
• core::matrix4 Transformation
• video::E_VERTEX_TYPE VertexType
• core::array< video::S3DVertex2TCoords > Vertices_2TCoords
• core::array< video::S3DVertex > Vertices_Standard
• core::array< video::S3DVertexTangents > Vertices_Tangents
A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime.
Definition at line 19 of file SSkinMeshBuffer.h.
Default constructor.
Definition at line 22 of file SSkinMeshBuffer.h.
References irr::IReferenceCounted::setDebugName(), and VertexType.
Implements irr::scene::IMeshBuffer.
Definition at line 98 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), and Indices.
• SSkinMeshBuffer.h
• void make_lower ()
Makes the string lower case.
• void make_upper ()
Makes the string upper case.
• string ()
Default constructor.
• ∼string ()
destructor
Known bugs: Special characters like umlauts are ignored in the methods make_upper, make_lower and
equals_ignore_case.
Definition at line 31 of file irrString.h.
Default constructor.
Definition at line 36 of file irrString.h.
Constructor.
Definition at line 46 of file irrString.h.
destructor
Definition at line 182 of file irrString.h.
Parameters:
other: other String to append to this string.
length: How much characters of the other string to add to this one.
Parameters:
other: String to append.
Parameters:
other: Char string to append.
Parameters:
character: Character to append.
Returns:
Returns pointer to C-style zero terminated string.
Parameters:
other: Other string to compare.
Returns:
Returns true if the string are equal ignoring case.
Erases a character from the string. May be slow, because all elements following after the erased element
have to be copied.
Parameters:
index: Index of element to be erased.
Parameters:
str: Another string
Returns:
Returns positions where the string has been found, or -1 if not found.
Parameters:
c: Character to search for.
Returns:
Returns position where the character has been found, or -1 if not found.
Parameters:
c: List of characters to find. For example if the method should find the first occurrence of ’a’ or ’b’,
this parameter should be "ab".
count: Amount of characters in the list. Usually, this should be strlen(c)
Returns:
Returns position where one of the characters has been found, or -1 if not found.
Parameters:
c: List of characters not to find. For example if the method should find the first occurrence of a
character not ’a’ or ’b’, this parameter should be "ab".
count: Amount of characters in the list. Usually, this should be strlen(c)
Returns:
Returns position where the character has been found, or -1 if not found.
Parameters:
c: Character to search for.
start: start to search reverse ( default = -1, on end )
Returns:
Returns position where the character has been found, or -1 if not found.
Parameters:
c: List of strings to find. For example if the method should find the last occurrence of ’a’ or ’b’, this
parameter should be "ab".
count: Amount of characters in the list. Usually, this should be strlen(c)
Returns:
Returns position where one of the characters has been found, or -1 if not found.
Parameters:
c: List of characters not to find. For example if the method should find the first occurrence of a
character not ’a’ or ’b’, this parameter should be "ab".
count: Amount of characters in the list. Usually, this should be strlen(c)
Returns:
Returns position where the character has been found, or -1 if not found.
Parameters:
c: Character to search for.
startPos: Position in string to start searching.
Returns:
Returns position where the character has been found, or -1 if not found.
Parameters:
other: Other string to compare.
Returns:
Returns true if the string is smaller ignoring case.
Is smaller operator.
Definition at line 314 of file irrString.h.
Assignment operator.
Definition at line 190 of file irrString.h.
Comparison operator.
Definition at line 303 of file irrString.h.
Comparison operator.
Definition at line 287 of file irrString.h.
7.164.3.39 ]
7.164.3.40 ]
Parameters:
count: Amount of characters to reserve.
Returns:
Returns length of the string in characters.
Returns a substring
Parameters:
begin: Start of substring.
length: Length of substring.
• irrString.h
Public Attributes
• core::array< SVariable > Variable
• IQ3Shader.h
irr::IReferenceCounted
irr::scene::quake3::SVarGroupList
Public Attributes
• core::array< SVarGroup > VariableGroup
• IQ3Shader.h
Public Attributes
• core::stringc content
• core::stringc name
• IQ3Shader.h
Public Types
• enum E_TRANSFORMATION_STATE_3 { ETS_VIEW_PROJECTION_3 = video::ETS_-
PROJECTION + 1, ETS_VIEW_MODEL_INVERSE_3, ETS_CURRENT_3, ETS_COUNT_3 }
Hold a copy of important transform matrices.
• enum VFPLANES {
VF_FAR_PLANE = 0, VF_NEAR_PLANE, VF_LEFT_PLANE, VF_RIGHT_PLANE,
VF_BOTTOM_PLANE, VF_TOP_PLANE, VF_PLANE_COUNT }
• void recalculateBoundingBox ()
recalculates the bounding box member based on the planes
• SViewFrustum ()
Default Constructor.
Public Attributes
• core::aabbox3d< f32 > boundingBox
bounding box around the view frustum
• core::vector3df cameraPosition
the position of the camera
Defines the view frustum. That’s the space visible by the camera.
The view frustum is enclosed by 6 planes. These six planes share four points. A bounding box around
these four points is also stored in this structure.
Definition at line 24 of file SViewFrustum.h.
Enumeration values:
ETS_VIEW_PROJECTION_3
ETS_VIEW_MODEL_INVERSE_3
ETS_CURRENT_3
ETS_COUNT_3
Enumeration values:
VF_FAR_PLANE Far plane of the frustum. That is the plane farest away from the eye.
VF_NEAR_PLANE Near plane of the frustum. That is the plane nearest to the eye.
VF_LEFT_PLANE Left plane of the frustum.
VF_RIGHT_PLANE Right plane of the frustum.
Default Constructor.
Definition at line 55 of file SViewFrustum.h.
Copy Constructor.
Definition at line 104 of file SViewFrustum.h.
References boundingBox, cameraPosition, Matrices, planes, and VF_PLANE_COUNT.
This constructor creates a view frustum based on a projection and/or view matrix.
Definition at line 117 of file SViewFrustum.h.
References setFrom().
returns the point which is on the far left bottom corner inside the the view frustum.
Definition at line 143 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), and planes.
Referenced by recalculateBoundingBox().
returns the point which is on the far left upper corner inside the the view frustum.
Definition at line 133 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), and planes.
Referenced by recalculateBoundingBox().
returns the point which is on the far right bottom corner inside the the view frustum.
Definition at line 163 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), and planes.
Referenced by recalculateBoundingBox().
returns the point which is on the far right top corner inside the the view frustum.
Definition at line 153 of file SViewFrustum.h.
References irr::core::plane3d< T >::getIntersectionWithPlanes(), and planes.
Referenced by recalculateBoundingBox().
This constructor creates a view frustum based on a projection and/or view matrix.
Definition at line 243 of file SViewFrustum.h.
References irr::core::plane3d< T >::D, irr::core::plane3d< T >::Normal, planes, recalculateBounding-
Box(), irr::core::reciprocal_squareroot(), VF_BOTTOM_PLANE, VF_FAR_PLANE, VF_LEFT_PLANE,
VF_NEAR_PLANE, VF_PLANE_COUNT, VF_RIGHT_PLANE, and VF_TOP_PLANE.
Referenced by SViewFrustum().
Parameters:
mat: Matrix by which the view frustum is transformed.
• SViewFrustum.h
• void set (const core::vector3d< T > &a, const core::vector3d< T > &b, const core::vector3d< T >
&c)
sets the triangle’s points
• triangle3d (vector3d< T > v1, vector3d< T > v2, vector3d< T > v3)
Constructor for triangle with given three vertices.
• triangle3d ()
Constructor for an all 0 triangle.
Public Attributes
• vector3d< T > pointA
the three points of the triangle
3d triangle template class for doing collision detection and other things.
Definition at line 20 of file triangle3d.h.
Parameters:
p: Point which must be on the same plane as the triangle.
Returns:
The closest point of the triangle
Calculates the intersection between a 3d line and the plane the triangle is on.
Parameters:
lineVect: Vector of the line to intersect with.
linePoint: Point of the line to intersect with.
outIntersection: Place to store the intersection point, if there is one.
Returns:
Returns true if there was an intersection, false if there was not.
Parameters:
line: Line to intersect with.
outIntersection: Place to store the intersection point, if there is one.
Returns:
Returns true if there was an intersection, false if not.
Returns an intersection with a 3d line. Please note that also points are returned as intersection which are
on the line, but not between the start and end point of the line. If you want the returned point be between
start and end use getIntersectionWithLimitedLine().
Parameters:
linePoint: Point of the line to intersect with.
lineVect: Vector of the line to intersect with.
outIntersection: Place to store the intersection point, if there is one.
Returns:
Returns true if there was an intersection, false if there was not.
Returns the normal of the triangle. Please note: The normal is not normalized.
Definition at line 168 of file triangle3d.h.
References irr::core::vector3d< T >::crossProduct(), irr::core::triangle3d< T >::pointA,
irr::core::triangle3d< T >::pointB, and irr::core::triangle3d< T >::pointC.
Referenced by irr::core::triangle3d< T >::getIntersectionOfPlaneWithLine(), and irr::core::triangle3d< T
>::isFrontFacing().
Test if the triangle would be front or backfacing from any point. Thus, this method assumes a camera
position from which the triangle is definitely visible when looking into the given direction. Do not use this
method with points as it will give wrong results!
Parameters:
lookDirection: Look direction.
Returns:
Returns true if the plane is front facing and false if it is backfacing.
Parameters:
p: Point to test. Assumes that this point is already on the plane of the triangle.
Returns:
Returns true if the point is inside the triangle, otherwise false.
Check if a point is inside the triangle. This method is an implementation of the example used in a paper by
Kasper Fauerby original written by Keidy from Mr-Gamemaker.
Parameters:
p: Point to test. Assumes that this point is already on the plane of the triangle.
Returns:
Returns true if the point is inside the triangle, otherwise false.
Parameters:
box: Box to check.
Returns:
Returns true if the triangle is within the box, and false otherwise.
Inequality operator.
Definition at line 36 of file triangle3d.h.
Equality operator.
7.169.3.14 template<class T> void irr::core::triangle3d< T >::set (const core::vector3d< T > &
a, const core::vector3d< T > & b, const core::vector3d< T > & c) [inline]
• triangle3d.h
• vector2d< T > getInterpolated_quadratic (const vector2d< T > &v2, const vector2d< T > &v3,
const T d) const
Returns (quadratically) interpolated vector between this and the two given ones.
• T getLength () const
Gets the length of the vector.
• T getLengthSQ () const
Get the squared length of this vector.
• void interpolate (const vector2d< T > &a, const vector2d< T > &b, const f32 t)
Sets this vector to the linearly interpolated vector between a and b.
• bool isBetweenPoints (const vector2d< T > &begin, const vector2d< T > &end) const
Returns if this vector interpreted as a point is on a line between two other points.
Public Attributes
• TX
X coordinate of vector.
• TY
Y coordinate of vector.
7.170.2.3 template<class T> irr::core::vector2d< T >::vector2d (const vector2d< T > & other)
[inline]
Parameters:
other Other vector to take dot product with.
Returns:
The dot product of the two vectors.
7.170.3.2 template<class T> bool irr::core::vector2d< T >::equals (const vector2d< T > &
other) const [inline]
Parameters:
other Vector to compare with.
Returns:
True if the two vector are (almost) equal, else false.
Calculates the angle of this vector in degrees in the counter trigonometric sense.
0 is to the right (3 o’clock), values increase counter-clockwise.
Returns:
Returns a value between 0 and 360.
Returns:
Returns a value between 0 and 360.
Calculates the angle between this vector and another one in degree.
Parameters:
b Other vector to test with.
Returns:
Returns a value between 0 and 90.
Parameters:
other Other vector to measure from.
Returns:
Distance from other point.
Parameters:
other Other vector to measure from.
Returns:
Squared distance from other point.
Parameters:
other Other vector to interpolate with.
d Value between 0.0f and 1.0f.
Returns:
Interpolated vector.
Returns (quadratically) interpolated vector between this and the two given ones.
Parameters:
v2 Second vector to interpolate with
v3 Third vector to interpolate with
d Value between 0.0f and 1.0f.
Returns:
Interpolated vector.
Returns:
The length of the vector.
Returns:
The squared length of the vector.
7.170.3.12 template<class T> void irr::core::vector2d< T >::interpolate (const vector2d< T > &
a, const vector2d< T > & b, const f32 t) [inline]
Parameters:
a first vector to interpolate with
b second vector to interpolate with
t value between 0.0f and 1.0f.
Returns if this vector interpreted as a point is on a line between two other points.
It is assumed that the point is on the line.
Parameters:
begin Beginning vector to compare between.
end Ending vector to compare between.
Returns:
True if this vector is between begin and end, false if not.
Returns:
Reference to this vector, after normalization.
7.170.3.19 template<class T> bool irr::core::vector2d< T >::operator!= (const vector2d< T > &
other) const [inline]
7.170.3.33 template<class T> bool irr::core::vector2d< T >::operator< (const vector2d< T > &
other) const [inline]
7.170.3.37 template<class T> bool irr::core::vector2d< T >::operator> (const vector2d< T > &
other) const [inline]
Parameters:
degrees Amount of degrees to rotate by.
center Rotation center.
7.170.3.40 template<class T> void irr::core::vector2d< T >::set (const vector2d< T > & p)
[inline]
X coordinate of vector.
Definition at line 261 of file vector2d.h.
Y coordinate of vector.
Definition at line 263 of file vector2d.h.
The documentation for this class was generated from the following file:
• vector2d.h
• bool equals (const vector3d< T > &other, const T tolerance=(T) ROUNDING_ERROR_32) const
returns if this vector equals the other one, taking floating point rounding errors into account
• vector3d< T > getInterpolated_quadratic (const vector3d< T > &v2, const vector3d< T > &v3,
const T d) const
Returns interpolated vector. ( quadratic ).
• T getLength () const
Get length of the vector.
• T getLengthSQ () const
Get squared length of the vector.
• void invert ()
Inverts the vector.
• bool isBetweenPoints (const vector3d< T > &begin, const vector3d< T > &end) const
Returns if this vector interpreted as a point is on a line between two other points.
Public Attributes
• TX
X coordinate of the vector.
• TY
• TZ
Z coordinate of the vector.
7.171.2.3 template<class T> irr::core::vector3d< T >::vector3d (const vector3d< T > & other)
[inline]
Parameters:
p Vector to multiply with.
Returns:
Crossproduct of this vector with p.
7.171.3.3 template<class T> bool irr::core::vector3d< T >::equals (const vector3d< T > &
other, const T tolerance = (T)ROUNDING_ERROR_32) const [inline]
returns if this vector equals the other one, taking floating point rounding errors into account
Definition at line 66 of file vector3d.h.
Referenced by irr::core::aabbox3d< f32 >::isEmpty(), irr::core::vector3d< f32 >::operator!=(), and
irr::core::vector3d< f32 >::operator==().
Returns:
A vector representing the rotation in degrees of this vector. The Z component of the vector will always
be 0.
Parameters:
other Other vector to interpolate between
d Value between 0.0f and 1.0f.
Parameters:
v2 Second vector to interpolate with
v3 Third vector to interpolate with
d Value between 0.0f and 1.0f.
Returns:
Squared length of the vector.
Returns if this vector interpreted as a point is on a line between two other points.
It is assumed that the point is on the line.
Parameters:
begin Beginning vector to compare between.
end Ending vector to compare between.
Returns:
True if this vector is between begin and end, false if not.
Returns:
Reference to this vector after normalization.
7.171.3.19 template<class T> bool irr::core::vector3d< T >::operator!= (const vector3d< T > &
other) const [inline]
7.171.3.29 template<class T> bool irr::core::vector3d< T >::operator< (const vector3d< T > &
other) const [inline]
7.171.3.33 template<class T> bool irr::core::vector3d< T >::operator> (const vector3d< T > &
other) const [inline]
Rotates the vector by a specified number of degrees around the Z axis and the specified center.
Parameters:
degrees: Number of degrees to rotate around the Z axis.
center: The center of the rotation.
Rotates the vector by a specified number of degrees around the Y axis and the specified center.
Parameters:
degrees Number of degrees to rotate around the Y axis.
center The center of the rotation.
Rotates the vector by a specified number of degrees around the X axis and the specified center.
Parameters:
degrees: Number of degrees to rotate around the X axis.
center: The center of the rotation.
7.171.3.38 template<class T> void irr::core::vector3d< T >::set (const vector3d< T > & p)
[inline]
7.171.3.39 template<class T> void irr::core::vector3d< T >::set (const T nx, const T ny, const T
nz) [inline]
• vector3d.h
Namespaces
• namespace irr
• namespace irr::core
Typedefs
• typedef aabbox3d< f32 > aabbox3df
Typedef for a f32 3d bounding box.
Namespaces
• namespace irr
• namespace irr::scene
Typedefs
• typedef CMeshBuffer< video::S3DVertex > SMeshBuffer
Standard meshbuffer.
Standard meshbuffer.
Definition at line 200 of file CMeshBuffer.h.
Meshbuffer with two texture coords per vertex, e.g. for lightmaps.
Definition at line 202 of file CMeshBuffer.h.
Meshbuffer with vertices having tangents stored, e.g. for normal mapping.
Definition at line 204 of file CMeshBuffer.h.
Namespaces
• namespace irr
• namespace irr::core
Functions
• stringc & cutFilenameExtension (stringc &dest, const stringc &source)
cut the filename extension from a string
8.3.1.1 stringc& cutFilenameExtension (stringc & dest, const stringc & source) [inline]
8.3.1.2 stringc& getFileNameExtension (stringc & dest, const stringc & source) [inline]
Namespaces
• namespace irr
• namespace irr::core
Typedefs
• typedef dimension2d< f32 > dimension2df
Typedef for an f32 dimension.
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum E_CULLING_TYPE { EAC_OFF = 0, EAC_BOX = 1, EAC_FRUSTUM_BOX = 2, EAC_-
FRUSTUM_SPHERE = 4 }
An enumeration for all types of automatic culling for built-in scene nodes.
Variables
• const c8 ∗const AutomaticCullingNames [ ]
Names for culling type.
An enumeration for all types of automatic culling for built-in scene nodes.
Enumeration values:
EAC_OFF
EAC_BOX
EAC_FRUSTUM_BOX
EAC_FRUSTUM_SPHERE
Initial value:
{
"false",
"box",
"frustum_box",
"frustum_sphere",
0
}
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum E_DEBUG_SCENE_TYPE {
EDS_OFF = 0, EDS_BBOX = 1, EDS_NORMALS = 2, EDS_SKELETON = 4,
EDS_MESH_WIRE_OVERLAY = 8, EDS_HALF_TRANSPARENCY = 16, EDS_BBOX_-
BUFFERS = 32, EDS_FULL = 0xffffffff }
An enumeration for all types of debug data for built-in scene nodes (flags).
An enumeration for all types of debug data for built-in scene nodes (flags).
Enumeration values:
EDS_OFF No Debug Data ( Default ).
EDS_BBOX Show Bounding Boxes of SceneNode.
EDS_NORMALS Show Vertex Normals.
EDS_SKELETON Shows Skeleton/Tags.
EDS_MESH_WIRE_OVERLAY Overlays Mesh Wireframe.
EDS_HALF_TRANSPARENCY Temporary use transparency Material Type.
EDS_BBOX_BUFFERS Show Bounding Boxes of all MeshBuffers.
EDS_FULL Show all debug infos.
Namespaces
• namespace irr
• namespace irr::video
Enumerations
• enum E_VIDEO_DRIVER_FEATURE {
EVDF_RENDER_TO_TARGET = 0, EVDF_HARDWARE_TL, EVDF_MULTITEXTURE,
EVDF_BILINEAR_FILTER,
EVDF_MIP_MAP, EVDF_MIP_MAP_AUTO_UPDATE, EVDF_STENCIL_BUFFER, EVDF_-
VERTEX_SHADER_1_1,
EVDF_VERTEX_SHADER_2_0, EVDF_VERTEX_SHADER_3_0, EVDF_PIXEL_SHADER_-
1_1, EVDF_PIXEL_SHADER_1_2,
EVDF_PIXEL_SHADER_1_3, EVDF_PIXEL_SHADER_1_4, EVDF_PIXEL_SHADER_2_0,
EVDF_PIXEL_SHADER_3_0,
EVDF_ARB_VERTEX_PROGRAM_1, EVDF_ARB_FRAGMENT_PROGRAM_1, EVDF_-
ARB_GLSL, EVDF_HLSL,
EVDF_TEXTURE_NPOT, EVDF_FRAMEBUFFER_OBJECT }
enumeration for querying features of the video driver.
Enumeration values:
EVDF_RENDER_TO_TARGET Is driver able to render to a surface?
EVDF_HARDWARE_TL Is hardeware transform and lighting supported?
EVDF_MULTITEXTURE Are multiple textures per material possible?
EVDF_BILINEAR_FILTER Is driver able to render with a bilinear filter applied?
EVDF_MIP_MAP Can the driver handle mip maps?
EVDF_MIP_MAP_AUTO_UPDATE Can the driver update mip maps automatically?
EVDF_STENCIL_BUFFER Are stencilbuffers switched on and does the device support stencil
buffers?
EVDF_VERTEX_SHADER_1_1 Is Vertex Shader 1.1 supported?
EVDF_VERTEX_SHADER_2_0 Is Vertex Shader 2.0 supported?
EVDF_VERTEX_SHADER_3_0 Is Vertex Shader 3.0 supported?
EVDF_PIXEL_SHADER_1_1 Is Pixel Shader 1.1 supported?
EVDF_PIXEL_SHADER_1_2 Is Pixel Shader 1.2 supported?
EVDF_PIXEL_SHADER_1_3 Is Pixel Shader 1.3 supported?
Namespaces
• namespace irr
• namespace irr::video
Enumerations
• enum E_DRIVER_TYPE {
EDT_NULL, EDT_SOFTWARE, EDT_BURNINGSVIDEO, EDT_DIRECT3D8,
EDT_DIRECT3D9, EDT_OPENGL }
An enum for all types of drivers the Irrlicht Engine supports.
Enumeration values:
EDT_NULL Null driver, useful for applications to run the engine without visualisation. The null
device is able to load textures, but does not render and display any graphics.
EDT_SOFTWARE The Irrlicht Engine Software renderer, runs on all platforms, with every hard-
ware. It should only be used for 2d graphics, but it can also perform some primitive 3d functions.
These 3d drawing functions are quite fast, but very inaccurate, and don’t even support clipping
in 3D mode.
EDT_BURNINGSVIDEO The Burning’s Software Renderer, an alternative software renderer for
Irrlicht. Basically it can be described as the Irrlicht Software renderer on steroids. It rasterizes 3D
geometry perfectly: It is able to perform correct 3d clipping, perspective correct texture mapping,
perspective correct color mapping, and renders sub pixel correct, sub texel correct primitives. In
addition, it does bilinear texel filtering and supports more materials than the EDT_SOFTWARE
driver. This renderer has been written entirely by Thomas Alten, thanks a lot for this huge
contribution.
EDT_DIRECT3D8 Direct3D8 device, only available on Win32 platforms. Performs hardware ac-
celerated rendering of 3D and 2D primitives.
EDT_DIRECT3D9 Direct3D 9 device, only available on Win32 platforms. Performs hardware ac-
celerated rendering of 3D and 2D primitives.
EDT_OPENGL OpenGL device, available on most platforms. Performs hardware accelerated ren-
dering of 3D and 2D primitives.
Namespaces
• namespace irr
• namespace irr::gui
Enumerations
• enum EGUI_ELEMENT_TYPE {
EGUIET_BUTTON = 0, EGUIET_CHECK_BOX, EGUIET_COMBO_BOX, EGUIET_-
CONTEXT_MENU,
EGUIET_MENU, EGUIET_EDIT_BOX, EGUIET_FILE_OPEN_DIALOG, EGUIET_COLOR_-
SELECT_DIALOG,
EGUIET_IN_OUT_FADER, EGUIET_IMAGE, EGUIET_LIST_BOX, EGUIET_MESH_-
VIEWER,
EGUIET_MESSAGE_BOX, EGUIET_MODAL_SCREEN, EGUIET_SCROLL_BAR, EGUIET_-
STATIC_TEXT,
EGUIET_TAB, EGUIET_TAB_CONTROL, EGUIET_TOOL_BAR, EGUIET_WINDOW,
EGUIET_SPIN_BOX, EGUIET_COUNT, EGUIET_ELEMENT, EGUIET_FORCE_32_BIT =
0x7fffffff }
List of all basic Irrlicht GUI elements.
Variables
• const c8 ∗const GUIElementTypeNames [ ]
Names for built-in element types.
Enumeration values:
EGUIET_BUTTON A button (IGUIButton).
EGUIET_CHECK_BOX A check box (IGUICheckBox).
EGUIET_COMBO_BOX A combo box (IGUIComboBox).
EGUIET_CONTEXT_MENU A context menu (IGUIContextMenu).
EGUIET_MENU A menu (IGUIMenu).
EGUIET_EDIT_BOX An edit box (IGUIEditBox).
Initial value:
{
"button",
"checkBox",
"comboBox",
"contextMenu",
"menu",
"editBox",
"fileOpenDialog",
"colorSelectDialog",
"inOutFader",
"image",
"listBox",
"meshViewer",
"messageBox",
"modalScreen",
"scrollBar",
"staticText",
"tab",
"tabControl",
"toolBar",
"window",
"spinBox",
0
}
Namespaces
• namespace irr
• namespace irr::video
Enumerations
• enum E_MATERIAL_FLAG {
EMF_WIREFRAME = 0, EMF_POINTCLOUD, EMF_GOURAUD_SHADING, EMF_-
LIGHTING,
EMF_ZBUFFER, EMF_ZWRITE_ENABLE, EMF_BACK_FACE_CULLING, EMF_-
BILINEAR_FILTER,
EMF_TRILINEAR_FILTER, EMF_ANISOTROPIC_FILTER, EMF_FOG_ENABLE, EMF_-
NORMALIZE_NORMALS,
EMF_TEXTURE_WRAP, EMF_MATERIAL_FLAG_COUNT }
Material flags.
Material flags.
Enumeration values:
EMF_WIREFRAME Draw as wireframe or filled triangles? Default: false.
EMF_POINTCLOUD Draw as point cloud or filled triangles? Default: false.
EMF_GOURAUD_SHADING Flat or Gouraud shading? Default: true.
EMF_LIGHTING Will this material be lighted? Default: true.
EMF_ZBUFFER Is the ZBuffer enabled? Default: true.
EMF_ZWRITE_ENABLE May be written to the zbuffer or is it readonly. Default: true This flag is
ignored, if the material type is a transparent type.
EMF_BACK_FACE_CULLING Is backfaceculling enabled? Default: true.
EMF_BILINEAR_FILTER Is bilinear filtering enabled? Default: true.
EMF_TRILINEAR_FILTER Is trilinear filtering enabled? Default: false If the trilinear filter flag
is enabled, the bilinear filtering flag is ignored.
EMF_ANISOTROPIC_FILTER Is anisotropic filtering? Default: false In Irrlicht you can use
anisotropic texture filtering in conjunction with bilinear or trilinear texture filtering to improve
rendering results. Primitives will look less blurry with this flag switched on.
EMF_FOG_ENABLE Is fog enabled? Default: false.
EMF_NORMALIZE_NORMALS Normalizes normals.You can enable this if you need to scale a
dynamic lighted model. Usually, its normals will get scaled too then and it will get darker. If you
enable the EMF_NORMALIZE_NORMALS flag, the normals will be normalized again, and the
model will look as bright as it should.
EMF_TEXTURE_WRAP Access to all layers texture wrap settings. Overwrites separate layer set-
tings.
EMF_MATERIAL_FLAG_COUNT This is not a flag, but a value indicating how much flags there
are.
Namespaces
• namespace irr
• namespace irr::video
Enumerations
• enum E_MATERIAL_TYPE {
EMT_SOLID = 0, EMT_SOLID_2_LAYER, EMT_LIGHTMAP, EMT_LIGHTMAP_ADD,
EMT_LIGHTMAP_M2, EMT_LIGHTMAP_M4, EMT_LIGHTMAP_LIGHTING, EMT_-
LIGHTMAP_LIGHTING_M2,
EMT_LIGHTMAP_LIGHTING_M4, EMT_DETAIL_MAP, EMT_SPHERE_MAP, EMT_-
REFLECTION_2_LAYER,
EMT_TRANSPARENT_ADD_COLOR, EMT_TRANSPARENT_ALPHA_CHANNEL, EMT_-
TRANSPARENT_ALPHA_CHANNEL_REF, EMT_TRANSPARENT_VERTEX_ALPHA,
EMT_TRANSPARENT_REFLECTION_2_LAYER, EMT_NORMAL_MAP_SOLID, EMT_-
NORMAL_MAP_TRANSPARENT_ADD_COLOR, EMT_NORMAL_MAP_TRANSPARENT_-
VERTEX_ALPHA,
EMT_PARALLAX_MAP_SOLID, EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR,
EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA, EMT_ONETEXTURE_-
BLEND,
EMT_FORCE_32BIT = 0x7fffffff }
Abstracted and easy to use fixed function/programmable pipeline material modes.
Variables
• const char ∗const sBuiltInMaterialTypeNames [ ]
Array holding the built in material type names.
Enumeration values:
EMT_SOLID Standard solid material. Only first texture is used, which is supposed to be the diffuse
material.
EMT_SOLID_2_LAYER Solid material with 2 texture layers. The second is blended onto the first
using the alpha value of the vertex colors. This material is currently not implemented in OpenGL.
EMT_LIGHTMAP Material type with standard lightmap technique: There should be 2 textures:
The first texture layer is a diffuse map, the second is a light map. Dynamic light is ignored.
The transparency depends on the alpha value in the vertex colors. A texture which will not
reflect can be set as second texture. Please note that this material type is currently not 100%
implemented in OpenGL.
EMT_NORMAL_MAP_SOLID A solid normal map renderer. First texture is the color map, the
second should be the normal map. Note that you should use this material only when drawing ge-
ometry consisting of vertices of type S3DVertexTangents (EVT_TANGENTS). You can convert
any mesh into this format using IMeshManipulator::createMeshWithTangents() (See SpecialFX2
Tutorial). This shader runs on vertex shader 1.1 and pixel shader 1.1 capable hardware and falls
back to a fixed function lighted material if this hardware is not available. Only two lights are
supported by this shader, if there are more, the nearest two are chosen.
EMT_NORMAL_MAP_TRANSPARENT_ADD_COLOR A transparent normal map renderer.
First texture is the color map, the second should be the normal map. Note that you should use this
material only when drawing geometry consisting of vertices of type S3DVertexTangents (EVT_-
TANGENTS). You can convert any mesh into this format using IMeshManipulator::createMesh-
WithTangents() (See SpecialFX2 Tutorial). This shader runs on vertex shader 1.1 and pixel
shader 1.1 capable hardware and falls back to a fixed function lighted material if this hardware is
not available. Only two lights are supported by this shader, if there are more, the nearest two are
chosen.
EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA A transparent (based on the vertex
alpha value) normal map renderer. First texture is the color map, the second should be the normal
map. Note that you should use this material only when drawing geometry consisting of vertices of
type S3DVertexTangents (EVT_TANGENTS). You can convert any mesh into this format using
IMeshManipulator::createMeshWithTangents() (See SpecialFX2 Tutorial). This shader runs on
vertex shader 1.1 and pixel shader 1.1 capable hardware and falls back to a fixed function lighted
material if this hardware is not available. Only two lights are supported by this shader, if there
are more, the nearest two are chosen.
EMT_PARALLAX_MAP_SOLID Just like EMT_NORMAL_MAP_SOLID, but uses parallax map-
ping too, which looks a lot more realistic. This only works when the hardware supports at least
vertex shader 1.1 and pixel shader 1.4. First texture is the color map, the second should be
the normal map. The normal map texture should contain the height value in the alpha com-
ponent. The IVideoDriver::makeNormalMapTexture() method writes this value automatically
when creating normal maps from a heightmap when using a 32 bit texture. The height scale of
the material (affecting the bumpiness) is being controlled by the SMaterial::MaterialTypeParam
member. If set to zero, the default value (0.02f) will be applied. Otherwise the value set in
SMaterial::MaterialTypeParam is taken. This value depends on with which scale the texture is
mapped on the material. Too high or low values of MaterialTypeParam can result in strange
artifacts.
EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR A material just like EMT_-
PARALLAX_MAP_SOLID, but it is transparent, using EMT_TRANSPARENT_ADD_COLOR
as base material.
EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA A material just like EMT_-
PARALLAX_MAP_SOLID, but it is transparent, using EMT_TRANSPARENT_VERTEX_-
ALPHA as base material.
EMT_ONETEXTURE_BLEND BlendFunc = source ∗ sourceFactor + dest ∗ destFactor ( E_-
BLEND_FUNC ) Using only first texture. Generic blending method.
EMT_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.
Initial value:
{
"solid",
"solid_2layer",
"lightmap",
"lightmap_add",
"lightmap_m2",
"lightmap_m4",
"lightmap_light",
"lightmap_light_m2",
"lightmap_light_m4",
"detail_map",
"sphere_map",
"reflection_2layer",
"trans_add",
"trans_alphach",
"trans_alphach_ref",
"trans_vertex_alpha",
"trans_reflection_2layer",
"normalmap_solid",
"normalmap_trans_add",
"normalmap_trans_vertexalpha",
"parallaxmap_solid",
"parallaxmap_trans_add",
"parallaxmap_trans_vertexalpha",
"onetexture_blend",
0
}
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum E_MESH_WRITER_FLAGS { EMWF_NONE = 0, EMWF_WRITE_LIGHTMAPS = 0x1,
EMWF_WRITE_COMPRESSED = 0x2 }
flags configuring mesh writing
Enumeration values:
EMWF_NONE no writer flags
EMWF_WRITE_LIGHTMAPS write lightmap textures out if possible
EMWF_WRITE_COMPRESSED write in a way that does consume less disk space
Enumeration values:
EMWT_IRR_MESH Irrlicht Native mesh writer, for static .irrmesh files.
EMWT_COLLADA COLLADA mesh writer for .dae and .xml files.
EMWT_STL STL mesh writer for .stl files.
Namespaces
• namespace irr
• namespace irr::gui
Enumerations
• enum EMESSAGE_BOX_FLAG {
EMBF_OK = 0x1, EMBF_CANCEL = 0x2, EMBF_YES = 0x4, EMBF_NO = 0x8,
EMBF_FORCE_32BIT = 0x7fffffff }
enumeration for message box layout flags
Enumeration values:
EMBF_OK Flag for the ok button.
EMBF_CANCEL Flag for the cancel button.
EMBF_YES Flag for the yes button.
EMBF_NO Flag for the no button.
EMBF_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum ESCENE_NODE_ANIMATOR_TYPE {
ESNAT_FLY_CIRCLE = 0, ESNAT_FLY_STRAIGHT, ESNAT_FOLLOW_SPLINE, ESNAT_-
ROTATION,
ESNAT_TEXTURE, ESNAT_DELETION, ESNAT_COLLISION_RESPONSE, ESNAT_COUNT,
ESNAT_UNKNOWN, ESNAT_FORCE_32_BIT = 0x7fffffff }
An enumeration for all types of built-in scene node animators.
Enumeration values:
ESNAT_FLY_CIRCLE Fly circle scene node animator.
ESNAT_FLY_STRAIGHT Fly straight scene node animator.
ESNAT_FOLLOW_SPLINE Follow spline scene node animator.
ESNAT_ROTATION Rotation scene node animator.
ESNAT_TEXTURE Texture scene node animator.
ESNAT_DELETION Deletion scene node animator.
ESNAT_COLLISION_RESPONSE Collision respose scene node animator.
ESNAT_COUNT Amount of built-in scene node animators.
ESNAT_UNKNOWN Unknown scene node animator.
ESNAT_FORCE_32_BIT This enum is never used, it only forces the compiler to compile these
enumeration values to 32 bit.
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum ESCENE_NODE_TYPE {
ESNT_CUBE = MAKE_IRR_ID(’c’,’u’,’b’,’e’), ESNT_SPHERE = MAKE_IRR_ID(’s’,’p’,’h’,’r’),
ESNT_TEXT = MAKE_IRR_ID(’t’,’e’,’x’,’t’), ESNT_WATER_SURFACE = MAKE_IRR_-
ID(’w’,’a’,’t’,’r’),
ESNT_TERRAIN = MAKE_IRR_ID(’t’,’e’,’r’,’r’), ESNT_SKY_BOX = MAKE_IRR_-
ID(’s’,’k’,’y’,’_’), ESNT_SHADOW_VOLUME = MAKE_IRR_ID(’s’,’h’,’d’,’w’), ESNT_-
OCT_TREE = MAKE_IRR_ID(’o’,’c’,’t’,’t’),
ESNT_MESH = MAKE_IRR_ID(’m’,’e’,’s’,’h’), ESNT_LIGHT = MAKE_IRR_ID(’l’,’g’,’h’,’t’),
ESNT_EMPTY = MAKE_IRR_ID(’e’,’m’,’t’,’y’), ESNT_DUMMY_TRANSFORMATION =
MAKE_IRR_ID(’d’,’m’,’m’,’y’),
ESNT_CAMERA = MAKE_IRR_ID(’c’,’a’,’m’,’_’), ESNT_CAMERA_MAYA = MAKE_-
IRR_ID(’c’,’a’,’m’,’M’), ESNT_CAMERA_FPS = MAKE_IRR_ID(’c’,’a’,’m’,’F’), ESNT_-
BILLBOARD = MAKE_IRR_ID(’b’,’i’,’l’,’l’),
ESNT_ANIMATED_MESH = MAKE_IRR_ID(’a’,’m’,’s’,’h’), ESNT_PARTICLE_SYSTEM =
MAKE_IRR_ID(’p’,’t’,’c’,’l’), ESNT_MD3_SCENE_NODE = MAKE_IRR_ID(’m’,’d’,’3’,’_’),
ESNT_UNKNOWN = MAKE_IRR_ID(’u’,’n’,’k’,’n’) }
An enumeration for all types of built-in scene nodes.
Enumeration values:
ESNT_CUBE simple cube scene node
ESNT_SPHERE Sphere scene node.
ESNT_TEXT Text Scene Node.
ESNT_WATER_SURFACE Water Surface Scene Node.
ESNT_TERRAIN Terrain Scene Node.
ESNT_SKY_BOX Sky Box Scene Node.
ESNT_SHADOW_VOLUME Shadow Volume Scene Node.
ESNT_OCT_TREE OctTree Scene Node.
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum E_TERRAIN_PATCH_SIZE {
ETPS_9 = 9, ETPS_17 = 17, ETPS_33 = 33, ETPS_65 = 65,
ETPS_129 = 129 }
enumeration for patch sizes specifying the size of patches in the TerrainSceneNode
enumeration for patch sizes specifying the size of patches in the TerrainSceneNode
Enumeration values:
ETPS_9 patch size of 9, at most, use 4 levels of detail with this patch size.
ETPS_17 patch size of 17, at most, use 5 levels of detail with this patch size.
ETPS_33 patch size of 33, at most, use 6 levels of detail with this patch size.
ETPS_65 patch size of 65, at most, use 7 levels of detail with this patch size.
ETPS_129 patch size of 129, at most, use 8 levels of detail with this patch size.
Namespaces
• namespace irr
• namespace irr::core
Functions
• float fast_atof (const char ∗c)
• const char ∗ fast_atof_move (const char ∗c, float &out)
• u32 strtol10 (const char ∗in, const char ∗∗out=0)
Variables
• const float fast_atof_table [16]
8.17.1.2 const char∗ fast_atof_move (const char ∗ c, float & out) [inline]
Provides a fast function for converting a string into a float, about 6 times faster than atof in win32.
Definition at line 56 of file fast_atof.h.
References irr::core::fast_atof_table, and irr::core::strtol10().
Referenced by irr::core::fast_atof(), and irr::scene::quake3::getAsFloat().
8.17.1.3 u32 strtol10 (const char ∗ in, const char ∗∗ out = 0) [inline]
Initial value:
{
0.f,
0.1f,
0.01f,
0.001f,
0.0001f,
0.00001f,
0.000001f,
0.0000001f,
0.00000001f,
0.000000001f,
0.0000000001f,
0.00000000001f,
0.000000000001f,
0.0000000000001f,
0.00000000000001f,
0.000000000000001f
}
Namespaces
• namespace irr
• namespace irr::core
Functions
• template<class T> void heapsink (T ∗array, s32 element, s32 max)
Sinks an element into the heap.
8.18.1.1 template<class T> void heapsink (T ∗ array, s32 element, s32 max) [inline]
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum E_ANIMATED_MESH_TYPE {
EAMT_UNKNOWN = 0, EAMT_MD2, EAMT_MD3, EAMT_OBJ,
EAMT_BSP, EAMT_3DS, EAMT_MY3D, EAMT_LMTS,
EAMT_CSM, EAMT_OCT, EAMT_SKINNED }
Possible types of (animated) meshes.
Enumeration values:
EAMT_UNKNOWN Unknown animated mesh type.
EAMT_MD2 Quake 2 MD2 model file.
EAMT_MD3 Quake 3 MD3 model file.
EAMT_OBJ Maya .obj static model.
EAMT_BSP Quake 3 .bsp static Map.
EAMT_3DS 3D Studio .3ds file
EAMT_MY3D My3D Mesh, the file format by Zhuck Dimitry.
EAMT_LMTS Pulsar LMTools .lmts file. This Irrlicht loader was written by Jonas Petersen.
EAMT_CSM Cartography Shop .csm file. This loader was created by Saurav Mohapatra.
EAMT_OCT .oct file for Paul Nette’s FSRad or from Murphy McCauley’s Blender .oct exporter.
The oct file format contains 3D geometry and lightmaps and can be loaded directly by Irrlicht
EAMT_SKINNED generic skinned mesh
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum EMD2_ANIMATION_TYPE {
EMAT_STAND = 0, EMAT_RUN, EMAT_ATTACK, EMAT_PAIN_A,
EMAT_PAIN_B, EMAT_PAIN_C, EMAT_JUMP, EMAT_FLIP,
EMAT_SALUTE, EMAT_FALLBACK, EMAT_WAVE, EMAT_POINT,
EMAT_CROUCH_STAND, EMAT_CROUCH_WALK, EMAT_CROUCH_ATTACK, EMAT_-
CROUCH_PAIN,
EMAT_CROUCH_DEATH, EMAT_DEATH_FALLBACK, EMAT_DEATH_FALLFORWARD,
EMAT_DEATH_FALLBACKSLOW,
EMAT_BOOM, EMAT_COUNT }
Types of standard md2 animations.
Enumeration values:
EMAT_STAND
EMAT_RUN
EMAT_ATTACK
EMAT_PAIN_A
EMAT_PAIN_B
EMAT_PAIN_C
EMAT_JUMP
EMAT_FLIP
EMAT_SALUTE
EMAT_FALLBACK
EMAT_WAVE
EMAT_POINT
EMAT_CROUCH_STAND
EMAT_CROUCH_WALK
EMAT_CROUCH_ATTACK
EMAT_CROUCH_PAIN
EMAT_CROUCH_DEATH
EMAT_DEATH_FALLBACK
EMAT_DEATH_FALLFORWARD
EMAT_DEATH_FALLBACKSLOW
EMAT_BOOM
EMAT_COUNT Not an animation, but amount of animation types.
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum EMD3_ANIMATION_TYPE {
EMD3_BOTH_DEATH_1 = 0, EMD3_BOTH_DEAD_1, EMD3_BOTH_DEATH_2, EMD3_-
BOTH_DEAD_2,
EMD3_BOTH_DEATH_3, EMD3_BOTH_DEAD_3, EMD3_TORSO_GESTURE, EMD3_-
TORSO_ATTACK_1,
EMD3_TORSO_ATTACK_2, EMD3_TORSO_DROP, EMD3_TORSO_RAISE, EMD3_TORSO_-
STAND_1,
EMD3_TORSO_STAND_2, EMD3_LEGS_WALK_CROUCH, EMD3_LEGS_WALK, EMD3_-
LEGS_RUN,
EMD3_LEGS_BACK, EMD3_LEGS_SWIM, EMD3_LEGS_JUMP_1, EMD3_LEGS_LAND_1,
EMD3_LEGS_JUMP_2, EMD3_LEGS_LAND_2, EMD3_LEGS_IDLE, EMD3_LEGS_IDLE_-
CROUCH,
EMD3_LEGS_TURN, EMD3_ANIMATION_COUNT }
Animation list.
• enum eMD3Models {
EMD3_HEAD = 0, EMD3_UPPER, EMD3_LOWER, EMD3_WEAPON,
EMD3_NUMMODELS }
Animation list.
Enumeration values:
EMD3_BOTH_DEATH_1
EMD3_BOTH_DEAD_1
EMD3_BOTH_DEATH_2
EMD3_BOTH_DEAD_2
EMD3_BOTH_DEATH_3
EMD3_BOTH_DEAD_3
EMD3_TORSO_GESTURE
EMD3_TORSO_ATTACK_1
EMD3_TORSO_ATTACK_2
EMD3_TORSO_DROP
EMD3_TORSO_RAISE
EMD3_TORSO_STAND_1
EMD3_TORSO_STAND_2
EMD3_LEGS_WALK_CROUCH
EMD3_LEGS_WALK
EMD3_LEGS_RUN
EMD3_LEGS_BACK
EMD3_LEGS_SWIM
EMD3_LEGS_JUMP_1
EMD3_LEGS_LAND_1
EMD3_LEGS_JUMP_2
EMD3_LEGS_LAND_2
EMD3_LEGS_IDLE
EMD3_LEGS_IDLE_CROUCH
EMD3_LEGS_TURN
EMD3_ANIMATION_COUNT Not an animation, but amount of animation types.
Enumeration values:
EMD3_HEAD
EMD3_UPPER
EMD3_LOWER
EMD3_WEAPON
EMD3_NUMMODELS
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum E_JOINT_UPDATE_ON_RENDER { EJUOR_NONE = 0, EJUOR_READ, EJUOR_-
CONTROL, EJUOR_COUNT }
Enumeration values:
EJUOR_NONE do nothing
EJUOR_READ get joints positions from the mesh (for attached nodes, etc)
EJUOR_CONTROL control joint positions in the mesh (eg. ragdolls, or set the animation from
animateJoints() )
EJUOR_COUNT count of all available interpolation modes
Namespaces
• namespace irr
• namespace irr::io
Enumerations
• enum E_ATTRIBUTE_READ_WRITE_FLAGS { EARWF_FOR_FILE = 0x00000001, EARWF_-
FOR_EDITOR = 0x00000002, EARWF_USE_RELATIVE_PATHS = 0x00000004 }
Enumeration flags passed through SAttributeReadWriteOptions to the IAttributeExchangingObject object.
Enumeration values:
EARWF_FOR_FILE Serialization/Deserializion is done for an xml file.
EARWF_FOR_EDITOR Serialization/Deserializion is done for an editor property box.
EARWF_USE_RELATIVE_PATHS When writing filenames, relative paths should be used.
Namespaces
• namespace irr
• namespace irr::io
• namespace irr::video
Enumerations
• enum E_ATTRIBUTE_TYPE {
EAT_INT = 0, EAT_FLOAT, EAT_STRING, EAT_BOOL,
EAT_ENUM, EAT_COLOR, EAT_COLORF, EAT_VECTOR3D,
EAT_POSITION2D, EAT_VECTOR2D, EAT_RECT, EAT_MATRIX,
EAT_QUATERNION, EAT_BBOX, EAT_PLANE, EAT_TRIANGLE3D,
EAT_LINE2D, EAT_LINE3D, EAT_STRINGWARRAY, EAT_FLOATARRAY,
EAT_INTARRAY, EAT_BINARY, EAT_TEXTURE, EAT_USER_POINTER,
EAT_COUNT, EAT_UNKNOWN }
Types of attributes available for IAttributes.
Enumeration values:
EAT_INT
EAT_FLOAT
EAT_STRING
EAT_BOOL
EAT_ENUM
EAT_COLOR
EAT_COLORF
EAT_VECTOR3D
EAT_POSITION2D
EAT_VECTOR2D
EAT_RECT
EAT_MATRIX
EAT_QUATERNION
EAT_BBOX
EAT_PLANE
EAT_TRIANGLE3D
EAT_LINE2D
EAT_LINE3D
EAT_STRINGWARRAY
EAT_FLOATARRAY
EAT_INTARRAY
EAT_BINARY
EAT_TEXTURE
EAT_USER_POINTER
EAT_COUNT
EAT_UNKNOWN
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum E_BONE_ANIMATION_MODE { EBAM_AUTOMATIC = 0, EBAM_ANIMATED,
EBAM_UNANIMATED, EBAM_COUNT }
Enumeration for different bone animation modes.
Variables
• const c8 ∗const BoneAnimationModeNames [ ]
Names for bone animation modes.
Enumeration values:
EBAM_AUTOMATIC The bone is usually animated, unless it’s parent is not animated.
EBAM_ANIMATED The bone is animated by the skin, if it’s parent is not animated then animation
will resume from this bone onward.
EBAM_UNANIMATED The bone is not animated by the skin.
EBAM_COUNT Not an animation mode, just here to count the available modes.
Enumeration values:
EBSS_LOCAL local skinning, standard
EBSS_GLOBAL global skinning
EBSS_COUNT
Initial value:
{
"automatic",
"animated",
"unanimated",
0,
}
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::scene
#include "ILogger.h"
#include "position2d.h"
#include "Keycodes.h"
Namespaces
• namespace irr
• namespace irr::gui
Enumerations
• enum EEVENT_TYPE {
EET_GUI_EVENT = 0, EET_MOUSE_INPUT_EVENT, EET_KEY_INPUT_EVENT, EET_-
LOG_TEXT_EVENT,
EET_USER_EVENT }
Enumeration for all event types there are.
• enum EGUI_EVENT_TYPE {
EGET_ELEMENT_FOCUS_LOST = 0, EGET_ELEMENT_FOCUSED, EGET_ELEMENT_-
HOVERED, EGET_ELEMENT_LEFT,
EGET_ELEMENT_CLOSED, EGET_BUTTON_CLICKED, EGET_SCROLL_BAR_CHANGED,
EGET_CHECKBOX_CHANGED,
EGET_LISTBOX_CHANGED, EGET_LISTBOX_SELECTED_AGAIN, EGET_FILE_-
SELECTED, EGET_FILE_CHOOSE_DIALOG_CANCELLED,
EGET_MESSAGEBOX_YES, EGET_MESSAGEBOX_NO, EGET_MESSAGEBOX_OK,
EGET_MESSAGEBOX_CANCEL,
EGET_EDITBOX_ENTER, EGET_TAB_CHANGED, EGET_MENU_ITEM_SELECTED,
EGET_COMBO_BOX_CHANGED,
EGET_SPINBOX_CHANGED }
Enumeration for all events which are sendable by the gui system.
• enum EMOUSE_INPUT_EVENT {
EMIE_LMOUSE_PRESSED_DOWN = 0, EMIE_RMOUSE_PRESSED_DOWN, EMIE_-
MMOUSE_PRESSED_DOWN, EMIE_LMOUSE_LEFT_UP,
EMIE_RMOUSE_LEFT_UP, EMIE_MMOUSE_LEFT_UP, EMIE_MOUSE_MOVED, EMIE_-
MOUSE_WHEEL,
EMIE_COUNT }
Enumeration for all mouse input events.
Enumeration values:
EET_GUI_EVENT An event of the graphical user interface.
GUI events are created by the GUI environment or the GUI elements in response to mouse or
keyboard events. When a GUI element receives an event it will either process it and return true,
or pass the event to its parent. If an event is not absorbed before it reaches the root element then
it will then be passed to the user receiver.
EET_MOUSE_INPUT_EVENT A mouse input event.
Mouse events are created by the device and passed to IrrlichtDevice::postEventFromUser in re-
sponse to mouse input received from the operating system. Mouse events are first passed to the
user receiver, then to the GUI environment (and possibly many GUI elements), then finally the
input receiving scene manager (and possibly the active camera)
EET_KEY_INPUT_EVENT A key input evant.
Keyboard events are also created by the device and passed to IrrlichtDevice::postEventFromUser.
They take the same path as mouse events.
EET_LOG_TEXT_EVENT A log event.
Log events are only passed to the user receiver if there is one. If they are absorbed by the user
receiver then no text will be sent to the console.
EET_USER_EVENT A user event with user data.
This is not used by Irrlicht and can be used to send user specific data though the system.
Enumeration for all events which are sendable by the gui system.
Enumeration values:
EGET_ELEMENT_FOCUS_LOST A gui element has lost its focus.
GUIEvent.Caller is losing the focus to GUIEvent.Element. If the event is absorbed then the focus
will not be changed.
EGET_ELEMENT_FOCUSED A gui element has got the focus.
If the event is absorbed then the focus will not be changed.
EGET_ELEMENT_HOVERED The mouse cursor hovered over a gui element.
EGET_ELEMENT_LEFT The mouse cursor left the hovered element.
EGET_ELEMENT_CLOSED An element would like to close.
Windows and context menus use this event when they would like to close, this can be cancelled
by absorbing the event.
EGET_BUTTON_CLICKED A button was clicked.
EGET_SCROLL_BAR_CHANGED A scrollbar has changed its position.
EGET_CHECKBOX_CHANGED A checkbox has changed its check state.
EGET_LISTBOX_CHANGED A new item in a listbox was seleted.
Enumeration values:
EMIE_LMOUSE_PRESSED_DOWN Left mouse button was pressed down.
EMIE_RMOUSE_PRESSED_DOWN Right mouse button was pressed down.
EMIE_MMOUSE_PRESSED_DOWN Middle mouse button was pressed down.
EMIE_LMOUSE_LEFT_UP Left mouse button was left up.
EMIE_RMOUSE_LEFT_UP Right mouse button was left up.
EMIE_MMOUSE_LEFT_UP Middle mouse button was left up.
EMIE_MOUSE_MOVED The mouse cursor changed its position.
EMIE_MOUSE_WHEEL The mouse wheel was moved. Use Wheel value in event data to find out
in what direction and how fast.
EMIE_COUNT No real event. Just for convenience to get number of events.
Namespaces
• namespace irr
• namespace irr::io
Namespaces
• namespace irr
• namespace irr::io
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::io
• namespace irr::video
Enumerations
• enum E_PIXEL_SHADER_TYPE {
EPST_PS_1_1 = 0, EPST_PS_1_2, EPST_PS_1_3, EPST_PS_1_4,
EPST_PS_2_0, EPST_PS_2_a, EPST_PS_2_b, EPST_PS_3_0,
EPST_COUNT }
Compile target enumeration for the addHighLevelShaderMaterial() method.
• enum E_VERTEX_SHADER_TYPE {
EVST_VS_1_1 = 0, EVST_VS_2_0, EVST_VS_2_a, EVST_VS_3_0,
EVST_COUNT }
Compile target enumeration for the addHighLevelShaderMaterial() method.
Variables
• const c8 ∗const PIXEL_SHADER_TYPE_NAMES [ ]
Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry.
Enumeration values:
EPST_PS_1_1
EPST_PS_1_2
EPST_PS_1_3
EPST_PS_1_4
EPST_PS_2_0
EPST_PS_2_a
EPST_PS_2_b
EPST_PS_3_0
EPST_COUNT This is not a type, but a value indicating how much types there are.
Enumeration values:
EVST_VS_1_1
EVST_VS_2_0
EVST_VS_2_a
EVST_VS_3_0
EVST_COUNT This is not a type, but a value indicating how much types there are.
Initial value:
{
"ps_1_1",
"ps_1_2",
"ps_1_3",
"ps_1_4",
"ps_2_0",
"ps_2_a",
"ps_2_b",
"ps_3_0",
0 }
Names for all pixel shader types, each entry corresponds to a E_PIXEL_SHADER_TYPE entry.
Definition at line 62 of file IGPUProgrammingServices.h.
Initial value:
{
"vs_1_1",
"vs_2_0",
"vs_2_a",
"vs_3_0",
0 }
Names for all vertex shader types, each entry corresponds to a E_VERTEX_SHADER_TYPE entry.
Definition at line 38 of file IGPUProgrammingServices.h.
Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::video
Enumerations
• enum EGUI_BUTTON_STATE {
EGBS_BUTTON_UP = 0, EGBS_BUTTON_DOWN, EGBS_BUTTON_MOUSE_OVER, EGBS_-
BUTTON_MOUSE_OFF,
EGBS_BUTTON_FOCUSED, EGBS_BUTTON_NOT_FOCUSED, EGBS_COUNT }
Variables
Enumeration values:
EGBS_BUTTON_UP The button is not pressed.
EGBS_BUTTON_DOWN The button is currently pressed down.
EGBS_BUTTON_MOUSE_OVER The mouse cursor is over the button.
EGBS_BUTTON_MOUSE_OFF The mouse cursor is not over the button.
EGBS_BUTTON_FOCUSED The button has the focus.
EGBS_BUTTON_NOT_FOCUSED The button doesn’t have the focus.
EGBS_COUNT not used, counts the number of enumerated items
Initial value:
{
"buttonUp",
"buttonDown",
"buttonMouseOver",
"buttonMouseOff",
"buttonFocused",
"buttonNotFocused",
0,
0,
}
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
Enumerations
Variables
Enumeration values:
EGUIA_UPPERLEFT Aligned to parent’s top or left side (default).
EGUIA_LOWERRIGHT Aligned to parent’s bottom or right side.
EGUIA_CENTER Aligned to the center of parent.
EGUIA_SCALE Scaled within its parent.
Initial value:
{
"upperLeft",
"lowerRight",
"center",
"scale",
0
}
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::io
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
Enumerations
• enum EGUI_FONT_TYPE { EGFT_BITMAP = 0, EGFT_VECTOR, EGFT_OS, EGFT_CUSTOM
}
An enum for the different types of GUI font.
Enumeration values:
EGFT_BITMAP Bitmap fonts loaded from an XML file or a texture.
EGFT_VECTOR Scalable vector fonts loaded from an XML file. These fonts reside in system
memory and use no video memory until they are displayed. These are slower than bitmap fonts
but can be easily scaled and rotated.
EGFT_OS A font which uses a the native API provided by the operating system. Currently not used.
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
Enumerations
• enum EGUI_LISTBOX_COLOR {
EGUI_LBC_TEXT = 0, EGUI_LBC_TEXT_HIGHLIGHT, EGUI_LBC_ICON, EGUI_LBC_-
ICON_HIGHLIGHT,
EGUI_LBC_COUNT }
Enumeration for listbox colors.
Enumeration values:
EGUI_LBC_TEXT Color of text.
EGUI_LBC_TEXT_HIGHLIGHT Color of selected text.
EGUI_LBC_ICON Color of icon.
EGUI_LBC_ICON_HIGHLIGHT Color of selected icon.
EGUI_LBC_COUNT Not used, just counts the number of available colors.
Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::scene
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
Enumerations
• enum EGUI_DEFAULT_COLOR {
EGDC_3D_DARK_SHADOW = 0, EGDC_3D_SHADOW, EGDC_3D_FACE, EGDC_3D_-
HIGH_LIGHT,
EGDC_3D_LIGHT, EGDC_ACTIVE_BORDER, EGDC_ACTIVE_CAPTION, EGDC_APP_-
WORKSPACE,
EGDC_BUTTON_TEXT, EGDC_GRAY_TEXT, EGDC_HIGH_LIGHT, EGDC_HIGH_LIGHT_-
TEXT,
EGDC_INACTIVE_BORDER, EGDC_INACTIVE_CAPTION, EGDC_TOOLTIP, EGDC_-
TOOLTIP_BACKGROUND,
EGDC_SCROLLBAR, EGDC_WINDOW, EGDC_WINDOW_SYMBOL, EGDC_ICON,
EGDC_ICON_HIGH_LIGHT, EGDC_COUNT }
Enumeration for skin colors.
• enum EGUI_DEFAULT_FONT {
EGDF_DEFAULT = 0, EGDF_BUTTON, EGDF_WINDOW, EGDF_MENU,
EGDF_TOOLTIP, EGDF_COUNT }
• enum EGUI_DEFAULT_ICON {
EGDI_WINDOW_MAXIMIZE = 0, EGDI_WINDOW_RESTORE, EGDI_WINDOW_CLOSE,
EGDI_WINDOW_MINIMIZE,
EGDI_WINDOW_RESIZE, EGDI_CURSOR_UP, EGDI_CURSOR_DOWN, EGDI_CURSOR_-
LEFT,
EGDI_CURSOR_RIGHT, EGDI_MENU_MORE, EGDI_CHECK_BOX_CHECKED, EGDI_-
DROP_DOWN,
EGDI_SMALL_CURSOR_UP, EGDI_SMALL_CURSOR_DOWN, EGDI_RADIO_BUTTON_-
CHECKED, EGDI_MORE_LEFT,
EGDI_MORE_RIGHT, EGDI_MORE_UP, EGDI_MORE_DOWN, EGDI_EXPAND,
EGDI_COLLAPSE, EGDI_FILE, EGDI_DIRECTORY, EGDI_COUNT }
Customizable symbols for GUI.
• enum EGUI_DEFAULT_SIZE {
EGDS_SCROLLBAR_SIZE = 0, EGDS_MENU_HEIGHT, EGDS_WINDOW_BUTTON_-
WIDTH, EGDS_CHECK_BOX_WIDTH,
• enum EGUI_DEFAULT_TEXT {
EGDT_MSG_BOX_OK = 0, EGDT_MSG_BOX_CANCEL, EGDT_MSG_BOX_YES, EGDT_-
MSG_BOX_NO,
EGDT_WINDOW_CLOSE, EGDT_WINDOW_MAXIMIZE, EGDT_WINDOW_MINIMIZE,
EGDT_WINDOW_RESTORE,
EGDT_COUNT }
• enum EGUI_SKIN_TYPE { EGST_WINDOWS_CLASSIC = 0, EGST_WINDOWS_METALLIC,
EGST_BURNING_SKIN, EGST_UNKNOWN }
Enumeration of available default skins.
Variables
• const c8 ∗const GUISkinColorNames [ ]
Names for default skin colors.
Enumeration values:
EGDC_3D_DARK_SHADOW Dark shadow for three-dimensional display elements.
EGDC_3D_SHADOW Shadow color for three-dimensional display elements (for edges facing away
from the light source).
EGDC_3D_FACE Face color for three-dimensional display elements and for dialog box back-
grounds.
EGDC_3D_HIGH_LIGHT Highlight color for three-dimensional display elements (for edges fac-
ing the light source.).
EGDC_3D_LIGHT Light color for three-dimensional display elements (for edges facing the light
source.).
EGDC_ACTIVE_BORDER Active window border.
EGDC_ACTIVE_CAPTION Active window title bar text.
EGDC_APP_WORKSPACE Background color of multiple document interface (MDI) applications.
Enumeration values:
EGDF_DEFAULT For static text, edit boxes, lists and most other places.
EGDF_BUTTON Font for buttons.
EGDF_WINDOW Font for window title bars.
EGDF_MENU Font for menu items.
EGDF_TOOLTIP Font for tooltips.
EGDF_COUNT this value is not used, it only specifies the amount of default fonts available.
Enumeration values:
EGDI_WINDOW_MAXIMIZE maximize window button
EGDI_WINDOW_RESTORE restore window button
EGDI_WINDOW_CLOSE close window button
EGDI_WINDOW_MINIMIZE minimize window button
Enumeration values:
EGDS_SCROLLBAR_SIZE default with / height of scrollbar
EGDS_MENU_HEIGHT height of menu
EGDS_WINDOW_BUTTON_WIDTH width of a window button
EGDS_CHECK_BOX_WIDTH width of a checkbox check
EGDS_MESSAGE_BOX_WIDTH width of a messagebox
EGDS_MESSAGE_BOX_HEIGHT height of a messagebox
EGDS_BUTTON_WIDTH width of a default button
EGDS_BUTTON_HEIGHT height of a default button
EGDS_TEXT_DISTANCE_X distance for text from background
EGDS_TEXT_DISTANCE_Y distance for text from background
EGDS_COUNT this value is not used, it only specifies the amount of default sizes available.
Enumeration values:
EGDT_MSG_BOX_OK Text for the OK button on a message box.
EGDT_MSG_BOX_CANCEL Text for the Cancel button on a message box.
EGDT_MSG_BOX_YES Text for the Yes button on a message box.
EGDT_MSG_BOX_NO Text for the No button on a message box.
EGDT_WINDOW_CLOSE Tooltip text for window close button.
EGDT_WINDOW_MAXIMIZE Tooltip text for window maximize button.
EGDT_WINDOW_MINIMIZE Tooltip text for window minimize button.
EGDT_WINDOW_RESTORE Tooltip text for window restore button.
EGDT_COUNT this value is not used, it only specifies the number of default texts
Enumeration values:
EGST_WINDOWS_CLASSIC Default windows look and feel.
EGST_WINDOWS_METALLIC Like EGST_WINDOWS_CLASSIC, but with metallic shaded
windows and buttons.
EGST_BURNING_SKIN Burning’s skin.
EGST_UNKNOWN An unknown skin, not serializable at present.
Initial value:
{
"3DDarkShadow",
"3DShadow",
"3DFace",
"3DHighlight",
"3DLight",
"ActiveBorder",
"ActiveCaption",
"AppWorkspace",
"ButtonText",
"GrayText",
"Highlight",
"HighlightText",
"InactiveBorder",
"InactiveCaption",
"ToolTip",
"ToolTipBackground",
"ScrollBar",
"Window",
"WindowSymbol",
"Icon",
"IconHighlight",
0,
}
Initial value:
{
"defaultFont",
"buttonFont",
"windowFont",
"menuFont",
"tooltipFont",
0
}
Initial value:
{
"windowMaximize",
"windowRestore",
"windowClose",
"windowMinimize",
"windowResize",
"cursorUp",
"cursorDown",
"cursorLeft",
"cursorRight",
"menuMore",
"checkBoxChecked",
"dropDown",
"smallCursorUp",
"smallCursorDown",
"radioButtonChecked",
"moreLeft",
"moreRight",
"moreUp",
"moreDown",
"expand",
"collapse",
"file",
"directory",
0
}
Initial value:
{
"ScrollBarSize",
"MenuHeight",
"WindowButtonWidth",
"CheckBoxWidth",
"MessageBoxWidth",
"MessageBoxHeight",
"ButtonWidth",
"ButtonHeight",
"TextDistanceX",
"TextDistanceY",
0,
}
Initial value:
{
"MessageBoxOkay",
"MessageBoxCancel",
"MessageBoxYes",
"MessageBoxNo",
"WindowButtonClose",
"WindowButtonMaximize",
"WindowButtonMinimize",
"WindowButtonRestore",
0,
}
Initial value:
{
"windowsClassic",
"windowsMetallic",
"burning",
"unknown",
0,
}
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::gui
Namespaces
• namespace irr
• namespace irr::video
Enumerations
• enum ECOLOR_FORMAT { ECF_A1R5G5B5 = 0, ECF_R5G6B5, ECF_R8G8B8, ECF_-
A8R8G8B8 }
An enum for the color format of textures used by the Irrlicht Engine.
An enum for the color format of textures used by the Irrlicht Engine.
A color format specifies how color information is stored.
Enumeration values:
ECF_A1R5G5B5 16 bit color format used by the software driver.
It is thus preferred by all other irrlicht engine video drivers. There are 5 bits for every color
component, and a single bit is left for alpha information.
ECF_R5G6B5 Standard 16 bit color format.
ECF_R8G8B8 24 bit color, no alpha channel, but 8 bit for red, green and blue.
ECF_A8R8G8B8 Default 32 bit color format. 8 bits are used for every component: red, green, blue
and alpha.
Namespaces
• namespace irr
• namespace irr::io
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::io
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
Enumerations
• enum ELOG_LEVEL { ELL_INFORMATION = 0, ELL_WARNING, ELL_ERROR, ELL_NONE
}
Possible log levels.
Enumeration values:
ELL_INFORMATION High log level, warnings, errors and important information texts are printed
out.
ELL_WARNING Default log level, warnings and errors are printed out.
ELL_ERROR Low log level, only errors are printed into the log.
ELL_NONE Nothing is printed out to the log.
Namespaces
• namespace irr
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum E_PRIMITIVE_TYPE {
EPT_POINTS = 0, EPT_LINE_STRIP, EPT_LINE_LOOP, EPT_LINES,
EPT_TRIANGLE_STRIP, EPT_TRIANGLE_FAN, EPT_TRIANGLES, EPT_QUAD_STRIP,
EPT_QUADS, EPT_POLYGON, EPT_POINT_SPRITES }
Enumeration for all primitive types there are.
Enumeration values:
EPT_POINTS All vertices are non-connected points.
EPT_LINE_STRIP All vertices form a single connected line.
EPT_LINE_LOOP Just as LINE_STRIP, but the last and the first vertex is also connected.
EPT_LINES Every two vertices are connected creating n/2 lines.
EPT_TRIANGLE_STRIP After the first two vertices each vertex defines a new triangle. Always
the two last and the new one form a new triangle.
EPT_TRIANGLE_FAN After the first two vertices each vertex defines a new triangle. All around
the common first vertex.
EPT_TRIANGLES Explicitly set all vertices for each triangle.
EPT_QUAD_STRIP After the first two vertices each further tw vetices create a quad with the pre-
ceding two.
EPT_QUADS Every four vertices create a quad.
EPT_POLYGON Just as LINE_LOOP, but filled.
EPT_POINT_SPRITES The single vertices are expanded to quad billboards on the GPU.
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::io
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::io
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum E_PARTICLE_AFFECTOR_TYPE {
EPAT_NONE = 0, EPAT_ATTRACT, EPAT_FADE_OUT, EPAT_GRAVITY,
EPAT_ROTATE, EPAT_COUNT }
Types of built in particle affectors.
Variables
• const c8 ∗const ParticleAffectorTypeNames [ ]
Names for built in particle affectors.
Enumeration values:
EPAT_NONE
EPAT_ATTRACT
EPAT_FADE_OUT
EPAT_GRAVITY
EPAT_ROTATE
EPAT_COUNT
Initial value:
{
"None",
"Attract",
"FadeOut",
"Gravity",
"Rotate",
0
}
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Typedefs
• typedef IParticleEmitter IParticlePointEmitter
Enumerations
• enum E_PARTICLE_EMITTER_TYPE {
EPET_POINT = 0, EPET_ANIMATED_MESH, EPET_BOX, EPET_CYLINDER,
EPET_MESH, EPET_RING, EPET_SPHERE, EPET_COUNT }
Types of built in particle emitters.
Variables
• const c8 ∗const ParticleEmitterTypeNames [ ]
Names for built in particle emitters.
Enumeration values:
EPET_POINT
EPET_ANIMATED_MESH
EPET_BOX
EPET_CYLINDER
EPET_MESH
EPET_RING
EPET_SPHERE
EPET_COUNT
Initial value:
{
"Point",
"AnimatedMesh",
"Box",
"Cylinder",
"Mesh",
"Ring",
"Sphere",
0
}
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
• namespace irr::scene::quake3
Typedefs
• typedef SShader SEntity
• typedef core::array< SEntity > tQ3EntityList
• typedef core::array< core::stringc > tStringList
• typedef core::array< video::ITexture ∗ > tTexArray
Enumerations
• enum eQ3MeshIndex { E_Q3_MESH_GEOMETRY = 0, E_Q3_MESH_ITEMS, E_Q3_MESH_-
BILLBOARD, E_Q3_MESH_SIZE }
Hold the different Mesh Types used for getMesh.
Functions
• core::stringc & dumpShader (core::stringc &dest, const SShader ∗shader)
• void dumpVarGroup (core::stringc &dest, const SVarGroup ∗group, s32 stack)
• f32 getAsFloat (const core::stringc &string, u32 &pos)
• void getAsStringList (tStringList &list, s32 max, const core::stringc &string, u32 &startPos)
• core::vector3df getAsVector3df (const core::stringc &string, u32 &pos)
• bool getBackfaceCulling (const core::stringc &string)
• u32 getDepthFunction (const core::stringc &string)
• void getModifierFunc (SModifierFunction &fill, const core::stringc &string, u32 &pos)
• void getTextures (tTexArray &textures, const core::stringc &name, u32 &startPos, io::IFileSystem
∗fileSystem, video::IVideoDriver ∗driver)
• s32 isEqual (const core::stringc &string, u32 &pos, const c8 ∗list[ ], u32 listSize)
Variables
• const video::E_MATERIAL_TYPE defaultLightMap = video::EMT_LIGHTMAP_M2
• const video::E_MODULATE_FUNC defaultModulate = video::EMFN_MODULATE_2X
Enumeration values:
E_Q3_MESH_GEOMETRY
E_Q3_MESH_ITEMS
E_Q3_MESH_BILLBOARD
E_Q3_MESH_SIZE
8.88.3.1 core::stringc& dumpShader (core::stringc & dest, const SShader ∗ shader) [inline]
8.88.3.2 void dumpVarGroup (core::stringc & dest, const SVarGroup ∗ group, s32 stack)
[inline]
8.88.3.3 f32 getAsFloat (const core::stringc & string, u32 & pos) [inline]
8.88.3.4 void getAsStringList (tStringList & list, s32 max, const core::stringc & string, u32 &
startPos) [inline]
8.88.3.5 core::vector3df getAsVector3df (const core::stringc & string, u32 & pos) [inline]
8.88.3.8 void getModifierFunc (SModifierFunction & fill, const core::stringc & string, u32 & pos)
[inline]
8.88.3.9 void getTextures (tTexArray & textures, const core::stringc & name, u32 & startPos,
io::IFileSystem ∗ fileSystem, video::IVideoDriver ∗ driver) [inline]
8.88.3.10 s32 isEqual (const core::stringc & string, u32 & pos, const c8 ∗ list[ ], u32 listSize)
[inline]
Namespaces
• namespace irr
• namespace irr::io
Functions
• IReadFile ∗ createLimitReadFile (const c8 ∗fileName, IReadFile ∗alreadyOpenedFile, long area-
Size)
Internal function, please do not use.
• IReadFile ∗ createMemoryReadFile (void ∗memory, long size, const c8 ∗fileName, bool delete-
MemoryWhenDropped)
Internal function, please do not use.
8.89.1.2 IReadFile∗ createMemoryReadFile (void ∗ memory, long size, const c8 ∗ fileName, bool
deleteMemoryWhenDropped)
Namespaces
• namespace irr
Namespaces
• namespace irr
• namespace irr::core
Namespaces
• namespace irr
• namespace irr::core
Defines
• #define _IRR_COMPILE_WITH_3DS_LOADER_
Define _IRR_COMPILE_WITH_3DS_LOADER_ if you want to load 3D Studio Max files.
• #define _IRR_COMPILE_WITH_B3D_LOADER_
Define _IRR_COMPILE_WITH_B3D_LOADER_ if you want to use Blitz3D files.
• #define _IRR_COMPILE_WITH_BMP_LOADER_
Define _IRR_COMPILE_WITH_BMP_LOADER_ if you want to load .bmp files.
• #define _IRR_COMPILE_WITH_BMP_WRITER_
Define _IRR_COMPILE_WITH_BMP_WRITER_ if you want to write .bmp files.
• #define _IRR_COMPILE_WITH_BSP_LOADER_
Define _IRR_COMPILE_WITH_BSP_LOADER_ if you want to load Quake 3 BSP files.
• #define _IRR_COMPILE_WITH_BURNINGSVIDEO_
Define _IRR_COMPILE_WITH_BURNINGSVIDEO_ to compile the Irrlicht engine with Burning’s video
driver.
• #define _IRR_COMPILE_WITH_COLLADA_LOADER_
Define _IRR_COMPILE_WITH_COLLADA_LOADER_ if you want to load Collada files.
• #define _IRR_COMPILE_WITH_COLLADA_WRITER_
Define _IRR_COMPILE_WITH_COLLADA_WRITER_ if you want to write Collada files.
• #define _IRR_COMPILE_WITH_CSM_LOADER_
Define _IRR_COMPILE_WITH_CSM_LOADER_ if you want to load Cartography Shop files.
• #define _IRR_COMPILE_WITH_DMF_LOADER_
Define _IRR_COMPILE_WITH_DMF_LOADER_ if you want to load DeleD files.
• #define _IRR_COMPILE_WITH_GUI_
Define _IRR_COMPILE_WITH_GUI_ to compile the engine with the built-in GUI.
• #define _IRR_COMPILE_WITH_IRR_MESH_LOADER_
Define _IRR_COMPILE_WITH_IRR_MESH_LOADER_ if you want to load Irrlicht Engine .irrmesh files.
• #define _IRR_COMPILE_WITH_IRR_WRITER_
Define _IRR_COMPILE_WITH_IRR_WRITER_ if you want to write static .irr files.
• #define _IRR_COMPILE_WITH_JPG_LOADER_
Define _IRR_COMPILE_WITH_JPG_LOADER_ if you want to load .jpg files.
• #define _IRR_COMPILE_WITH_JPG_WRITER_
Define _IRR_COMPILE_WITH_JPG_WRITER_ if you want to write .jpg files.
• #define _IRR_COMPILE_WITH_LIBJPEG_
Define _IRR_COMPILE_WITH_JPEGLIB_ to enable compiling the engine using libjpeg.
• #define _IRR_COMPILE_WITH_LIBPNG_
Define _IRR_COMPILE_WITH_LIBPNG_ to enable compiling the engine using libpng.
• #define _IRR_COMPILE_WITH_LMTS_LOADER_
Define _IRR_COMPILE_WITH_LMTS_LOADER_ if you want to load LMTools files.
• #define _IRR_COMPILE_WITH_MD2_LOADER_
Define _IRR_COMPILE_WITH_MD2_LOADER_ if you want to load Quake 2 animated files.
• #define _IRR_COMPILE_WITH_MD3_LOADER_
Define _IRR_COMPILE_WITH_MD3_LOADER_ if you want to load Quake 3 animated files.
• #define _IRR_COMPILE_WITH_MS3D_LOADER_
Define _IRR_COMPILE_WITH_B3D_LOADER_ if you want to Milkshape files.
• #define _IRR_COMPILE_WITH_MY3D_LOADER_
Define _IRR_COMPILE_WITH_MY3D_LOADER_ if you want to load MY3D files.
• #define _IRR_COMPILE_WITH_OBJ_LOADER_
Define _IRR_COMPILE_WITH_OBJ_LOADER_ if you want to load Wavefront OBJ files.
• #define _IRR_COMPILE_WITH_OCT_LOADER_
Define _IRR_COMPILE_WITH_OCT_LOADER_ if you want to load FSRad OCT files.
• #define _IRR_COMPILE_WITH_OGRE_LOADER_
Define _IRR_COMPILE_WITH_OGRE_LOADER_ if you want to load Ogre 3D files.
• #define _IRR_COMPILE_WITH_OPENGL_
Define _IRR_COMPILE_WITH_OPENGL_ to compile the Irrlicht engine with OpenGL.
• #define _IRR_COMPILE_WITH_PCX_LOADER_
Define _IRR_COMPILE_WITH_PCX_LOADER_ if you want to load .pcx files.
• #define _IRR_COMPILE_WITH_PCX_WRITER_
Define _IRR_COMPILE_WITH_PCX_WRITER_ if you want to write .pcx files.
• #define _IRR_COMPILE_WITH_PNG_LOADER_
Define _IRR_COMPILE_WITH_PNG_LOADER_ if you want to load .png files.
• #define _IRR_COMPILE_WITH_PNG_WRITER_
Define _IRR_COMPILE_WITH_PNG_WRITER_ if you want to write .png files.
• #define _IRR_COMPILE_WITH_PPM_LOADER_
Define _IRR_COMPILE_WITH_PPM_LOADER_ if you want to load .ppm/.pgm/.pbm files.
• #define _IRR_COMPILE_WITH_PPM_WRITER_
Define _IRR_COMPILE_WITH_PPM_WRITER_ if you want to write .ppm files.
• #define _IRR_COMPILE_WITH_PSD_LOADER_
Define _IRR_COMPILE_WITH_PSD_LOADER_ if you want to load .psd files.
• #define _IRR_COMPILE_WITH_PSD_WRITER_
Define _IRR_COMPILE_WITH_PSD_WRITER_ if you want to write .psd files.
• #define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
Define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_ if you want to use bone based.
• #define _IRR_COMPILE_WITH_SOFTWARE_
Define _IRR_COMPILE_WITH_SOFTWARE_ to compile the Irrlicht engine with software driver.
• #define _IRR_COMPILE_WITH_STL_LOADER_
Define _IRR_COMPILE_WITH_STL_LOADER_ if you want to load .stl files.
• #define _IRR_COMPILE_WITH_STL_WRITER_
Define _IRR_COMPILE_WITH_STL_WRITER_ if you want to write .stl files.
• #define _IRR_COMPILE_WITH_TGA_LOADER_
Define _IRR_COMPILE_WITH_TGA_LOADER_ if you want to load .tga files.
• #define _IRR_COMPILE_WITH_TGA_WRITER_
Define _IRR_COMPILE_WITH_TGA_WRITER_ if you want to write .tga files.
• #define _IRR_COMPILE_WITH_X11_
Define _IRR_COMPILE_WITH_X11_ to compile the Irrlicht engine with X11 support.
• #define _IRR_COMPILE_WITH_X_LOADER_
Define _IRR_COMPILE_WITH_X_LOADER_ if you want to use Microsoft X files.
• #define _IRR_COMPILE_WITH_ZLIB_
Define _IRR_COMPILE_WITH_ZLIB_ to enable compiling the engine using zlib.
• #define _IRR_D3D_NO_SHADER_DEBUGGING
Define _IRR_D3D_NO_SHADER_DEBUGGING to disable shader debugging in D3D9.
• #define _IRR_LINUX_PLATFORM_
• #define _IRR_LINUX_X11_VIDMODE_
• #define _IRR_OPENGL_USE_EXTPOINTER_
Define _IRR_OPENGL_USE_EXTPOINTER_ if the OpenGL renderer should use OpenGL extensions via
function pointers.
• #define _IRR_POSIX_API_
• #define _IRR_USE_LINUX_DEVICE_
• #define _IRR_USE_NON_SYSTEM_JPEG_LIB_
Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht.
• #define _IRR_USE_NON_SYSTEM_LIB_PNG_
Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht.
• #define _IRR_USE_NON_SYSTEM_ZLIB_
Define _IRR_USE_NON_SYSTEM_ZLIB_ to let irrlicht use the zlib which comes with irrlicht.
• #define BURNINGVIDEO_RENDERER_BEAUTIFUL
Define one of the three setting for Burning’s Video Software Rasterizer.
• #define IRRCALLCONV
• #define IRRLICHT_API
• #define IRRLICHT_SDK_VERSION "1.4.1"
Irrlicht SDK Version.
On some Linux systems the XF86 vidmode extension or X11 RandR are missing. Use these flags to remove
the dependencies such that Irrlicht will compile on those systems, too.
Definition at line 119 of file IrrCompileConfig.h.
Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht.
If this is commented out, Irrlicht will try to compile using the jpeg lib installed in the system. This is only
used when _IRR_COMPILE_WITH_LIBJPEG_ is defined.
Definition at line 148 of file IrrCompileConfig.h.
Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht.
If this is commented out, Irrlicht will try to compile using the libpng installed in the system. This is only
used when _IRR_COMPILE_WITH_LIBPNG_ is defined.
Definition at line 159 of file IrrCompileConfig.h.
Define _IRR_USE_NON_SYSTEM_ZLIB_ to let irrlicht use the zlib which comes with irrlicht.
If this is commented out, Irrlicht will try to compile using the zlib installed in the system. This is only used
when _IRR_COMPILE_WITH_ZLIB_ is defined.
Definition at line 137 of file IrrCompileConfig.h.
Define one of the three setting for Burning’s Video Software Rasterizer.
So if we were marketing guys we could says Irrlicht has 4 Software-Rasterizers. In a Nutshell: All Burnings
Rasterizers use 32 Bit Backbuffer, 32Bit Texture & 32 Bit Z or WBuffer, 16 Bit/32 Bit can be adjusted on
a global flag.
BURNINGVIDEO_RENDERER_BEAUTIFUL 32 Bit + Vertexcolor + Lighting + Per Pixel Perspective
Correct + SubPixel/SubTexel Correct + Bilinear Texturefiltering + WBuffer
BURNINGVIDEO_RENDERER_FAST 32 Bit + Per Pixel Perspective Correct + SubPixel/SubTexel Cor-
rect + WBuffer + Bilinear Dithering TextureFiltering + WBuffer
BURNINGVIDEO_RENDERER_ULTRA_FAST 16Bit + SubPixel/SubTexel Correct + ZBuffer
Definition at line 228 of file IrrCompileConfig.h.
Main header file of the irrlicht, the only file needed to include.
#include "IrrCompileConfig.h"
#include "aabbox3d.h"
#include "coreutil.h"
#include "irrArray.h"
#include "irrMap.h"
#include "irrMath.h"
#include "irrString.h"
#include "irrTypes.h"
#include "SColor.h"
#include "SLight.h"
#include "dimension2d.h"
#include "EDriverTypes.h"
#include "IAttributes.h"
#include "IAttributeExchangingObject.h"
#include "IAnimatedMesh.h"
#include "IAnimatedMeshMD2.h"
#include "IAnimatedMeshMD3.h"
#include "IQ3LevelMesh.h"
#include "IAnimatedMeshSceneNode.h"
#include "IBillboardSceneNode.h"
#include "IBoneSceneNode.h"
#include "ICameraSceneNode.h"
#include "IDummyTransformationSceneNode.h"
#include "IEventReceiver.h"
#include "IFileList.h"
#include "IFileSystem.h"
#include "IGPUProgrammingServices.h"
#include "IGUIButton.h"
#include "IGUICheckBox.h"
#include "IGUIColorSelectDialog.h"
#include "IGUIComboBox.h"
#include "IGUIContextMenu.h"
#include "IGUIEditBox.h"
#include "IGUIElement.h"
#include "IGUIElementFactory.h"
#include "IGUIEnvironment.h"
#include "IGUIFileOpenDialog.h"
#include "IGUIFont.h"
#include "IGUIFontBitmap.h"
#include "IGUIImage.h"
#include "IGUIInOutFader.h"
#include "IGUIListBox.h"
#include "IGUIMeshViewer.h"
#include "IGUIScrollBar.h"
#include "IGUISkin.h"
#include "IGUISpinBox.h"
#include "IGUISpriteBank.h"
#include "IGUIStaticText.h"
#include "IGUITabControl.h"
#include "IGUIToolbar.h"
#include "IGUIWindow.h"
#include "IImage.h"
#include "ILightSceneNode.h"
#include "ILogger.h"
#include "IMaterialRenderer.h"
#include "IMaterialRendererServices.h"
#include "IMesh.h"
#include "IMeshBuffer.h"
#include "IMeshCache.h"
#include "IMeshSceneNode.h"
#include "IMeshManipulator.h"
#include "IMeshWriter.h"
#include "IMetaTriangleSelector.h"
#include "IReadFile.h"
#include "IrrlichtDevice.h"
#include "ISceneManager.h"
#include "ISceneNode.h"
#include "ISceneUserDataSerializer.h"
#include "ITriangleSelector.h"
#include "ISceneNodeAnimator.h"
#include "ISceneCollisionManager.h"
#include "ISceneNodeFactory.h"
#include "ISceneNodeAnimatorFactory.h"
#include "ISceneNodeAnimatorCollisionResponse.h"
#include "IShaderConstantSetCallBack.h"
#include "IShadowVolumeSceneNode.h"
#include "IParticleSystemSceneNode.h"
#include "ISkinnedMesh.h"
#include "ITerrainSceneNode.h"
#include "ITextSceneNode.h"
#include "ITexture.h"
#include "IReferenceCounted.h"
#include "IVideoDriver.h"
#include "IVideoModeList.h"
#include "IWriteFile.h"
#include "IXMLReader.h"
#include "IXMLWriter.h"
#include "Keycodes.h"
#include "line2d.h"
#include "line3d.h"
#include "irrList.h"
#include "matrix4.h"
#include "plane3d.h"
#include "vector2d.h"
#include "vector3d.h"
#include "triangle3d.h"
#include "position2d.h"
#include "quaternion.h"
#include "rect.h"
#include "S3DVertex.h"
#include "SAnimatedMesh.h"
#include "SExposedVideoData.h"
#include "SKeyMap.h"
#include "SMaterial.h"
#include "SMesh.h"
#include "SMeshBuffer.h"
#include "SMeshBufferLightMap.h"
#include "SMeshBufferTangents.h"
#include "SViewFrustum.h"
#include "SIrrCreationParameters.h"
Namespaces
• namespace irr
• namespace irr::core
• namespace irr::gui
• namespace irr::io
• namespace irr::scene
• namespace irr::video
Functions
Main header file of the irrlicht, the only file needed to include.
Definition in file irrlicht.h.
Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.
If you need more parameters to be passed to the creation of the Irrlicht Engine device, use the createDevice-
Ex() function.
Parameters:
deviceType: Type of the device. This can currently be video::EDT_NULL, video::EDT_SOFTWARE,
video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D8, video::EDT_DIRECT3D9 and
video::EDT_OPENGL.
windowSize: Size of the window or the video mode in fullscreen mode.
bits: Bits per pixel in fullscreen mode. Ignored if windowed mode.
fullscreen: Should be set to true if the device should run in fullscreen. Otherwise the device runs in
windowed mode.
stencilbuffer: Specifies if the stencil buffer should be enabled. Set this to true, if you want the engine
be able to draw stencil buffer shadows. Note that not all devices are able to use the stencil buffer.
If they don’t no shadows will be drawn.
vsync: Specifies vertical syncronisation: If set to true, the driver will wait for the vertical retrace
period, otherwise not.
receiver: A user created event receiver.
sdk_version_do_not_use: Don’t use or change this parameter. Always set it to IRRLICHT_SDK_-
VERSION, which is done by default. This is needed for sdk version checks.
Returns:
Returns pointer to the created IrrlichtDevice or null if the device could not be created.
Parameters:
parameters: Structure containing advanced parameters for the creation of the device. See
irr::SIrrlichtCreationParameters for details.
Returns:
Returns pointer to the created IrrlichtDevice or null if the device could not be created.
Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::io
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::core
Namespaces
• namespace irr
• namespace irr::core
Namespaces
• namespace irr
• namespace irr::core
Defines
• #define AIR(x) (IR(x)&0x7fffffff)
Absolute integer representation of a floating-point value.
Functions
• template<class T> T abs_ (const T &a)
returns abs of two values. Own implementation to get rid of STL (VS6 problems)
• template<class T> const T clamp (const T &value, const T &low, const T &high)
clamps a value between low and high
• REALINLINE u32 if_c_a_else_b (const s32 condition, const u32 a, const u32 b)
conditional set based on mask and arithmetic shift
• template<class T> const T & min_ (const T &a, const T &b, const T &c)
returns minimum of three values. Own implementation to get rid of the STL (VS6 problems)
Variables
• const f32 DEGTORAD = PI / 180.0f
32bit Constant for converting from degrees to radians
returns abs of two values. Own implementation to get rid of STL (VS6 problems)
Definition at line 101 of file irrMath.h.
8.98.2.3 template<class T> const T clamp (const T & value, const T & low, const T & high)
[inline]
8.98.2.5 bool equals (const u32 a, const u32 b, const u32 tolerance = 0) [inline]
8.98.2.6 bool equals (const s32 a, const s32 b, const s32 tolerance = 0) [inline]
8.98.2.7 bool equals (const f32 a, const f32 b, const f32 tolerance = ROUNDING_ERROR_32)
[inline]
8.98.2.8 f32 f32_max3 (const f32 a, const f32 b, const f32 c) [inline]
8.98.2.9 f32 f32_min3 (const f32 a, const f32 b, const f32 c) [inline]
8.98.2.13 REALINLINE u32 if_c_a_else_b (const s32 condition, const u32 a, const u32 b)
8.98.2.16 bool iszero (const f32 a, const f32 tolerance = ROUNDING_ERROR_32) [inline]
8.98.2.17 template<class T> T lerp (const T & a, const T & b, const f32 t) [inline]
Returns:
: a if t==0, b if t==1, and the linear interpolation else
8.98.2.18 template<class T> const T& max_ (const T & a, const T & b, const T & c) [inline]
returns maximum of three values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 94 of file irrMath.h.
References irr::core::max_().
8.98.2.19 template<class T> const T& max_ (const T & a, const T & b) [inline]
returns maximum of two values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 87 of file irrMath.h.
Referenced by irr::core::clamp(), and irr::core::max_().
8.98.2.20 template<class T> const T& min_ (const T & a, const T & b, const T & c) [inline]
returns minimum of three values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 80 of file irrMath.h.
References irr::core::min_().
8.98.2.21 template<class T> const T& min_ (const T & a, const T & b) [inline]
returns minimum of two values. Own implementation to get rid of the STL (VS6 problems)
Definition at line 73 of file irrMath.h.
Referenced by irr::core::clamp(), irr::core::min_(), and irr::video::SColor::operator+().
8.98.2.27 s32 s32_clamp (s32 value, s32 low, s32 high) [inline]
8.98.2.30 REALINLINE void setbit_cond (u32 & state, s32 condition, u32 mask)
64bit constant for converting from degrees to radians (formally known as GRAD_PI2)
Definition at line 66 of file irrMath.h.
Referenced by irr::core::vector2d< f32 >::rotateBy(), irr::core::vector3d< f32 >::rotateXYBy(),
irr::core::vector3d< f32 >::rotateXZBy(), and irr::core::vector3d< f32 >::rotateYZBy().
32bit constant for converting from radians to degrees (formally known as GRAD_PI)
Definition at line 63 of file irrMath.h.
Namespaces
• namespace irr
• namespace irr::core
Typedefs
• typedef string< c8 > stringc
Typedef for character strings.
Namespaces
• namespace irr
Defines
• #define _IRR_DEBUG_BREAK_IF(_CONDITION_)
define a break macro for debugging.
• #define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX
Defines a small statement to work around a microsoft compiler bug.
Typedefs
• typedef char c8
8 bit character variable.
Value:
Namespaces
• namespace irr
• namespace irr::io
Typedefs
Enumerations
• enum ETEXT_FORMAT {
ETF_ASCII, ETF_UTF8, ETF_UTF16_BE, ETF_UTF16_LE,
ETF_UTF32_BE, ETF_UTF32_LE }
Enumeration of all supported source text file formats.
• enum EXML_NODE {
EXN_NONE, EXN_ELEMENT, EXN_ELEMENT_END, EXN_TEXT,
EXN_COMMENT, EXN_CDATA, EXN_UNKNOWN }
Enumeration for all xml nodes which are parsed by IrrXMLReader.
Functions
• IRRLICHT_API IrrXMLReader ∗IRRCALLCONV createIrrXMLReader (IFileReadCallBack
∗callback)
Creates an instance of an UFT-8 or ASCII character xml parser.
Enumeration values:
ETF_ASCII ASCII, file without byte order mark, or not a text file.
ETF_UTF8 UTF-8 format.
ETF_UTF16_BE UTF-16 format, big endian.
ETF_UTF16_LE UTF-16 format, little endian.
ETF_UTF32_BE UTF-32 format, big endian.
ETF_UTF32_LE UTF-32 format, little endian.
Enumeration values:
EXN_NONE No xml node. This is usually the node if you did not read anything yet.
EXN_ELEMENT An xml element such as <foo>.
EXN_ELEMENT_END End of an xml element such as </foo>.
EXN_TEXT Text within an xml element: <foo> this is the text. <foo>.
EXN_COMMENT An xml comment like <!– I am a comment –> or a DTD definition.
EXN_CDATA An xml cdata section like <![CDATA[ this is some CDATA ]]>.
EXN_UNKNOWN Unknown element.
Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
filename: Name of file to be opened.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
filename: Name of file to be opened.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
callback: Callback for file read abstraction. Implement your own callback to make the xml parser
read in other things than just files. See IFileReadCallBack for more information about this.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
file: Pointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb");
The file will not be closed after it has been read.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Parameters:
filename: Name of file to be opened.
Returns:
Returns a pointer to the created xml parser. This pointer should be deleted using ’delete’ after no
longer needed. Returns 0 if an error occured and the file could not be opened.
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::gui
• namespace irr::io
• namespace irr::scene
• namespace irr::scene::quake3
• namespace irr::video
Enumerations
• enum E_SCENE_NODE_RENDER_PASS {
ESNRP_CAMERA, ESNRP_LIGHT, ESNRP_SKY_BOX, ESNRP_AUTOMATIC,
ESNRP_SOLID, ESNRP_SHADOW, ESNRP_TRANSPARENT, ESNRP_SHADER_0,
ESNRP_SHADER_1, ESNRP_SHADER_2, ESNRP_SHADER_3, ESNRP_SHADER_4,
ESNRP_SHADER_5, ESNRP_SHADER_6, ESNRP_SHADER_7, ESNRP_SHADER_8,
ESNRP_SHADER_9, ESNRP_SHADER_10, ESNRP_COUNT }
Enumeration for render passes.
Enumeration values:
ESNRP_CAMERA Camera pass. The active view is set up here. The very first pass.
ESNRP_LIGHT In this pass, lights are transformed into camera space and added to the driver.
ESNRP_SKY_BOX This is used for sky boxes.
ESNRP_AUTOMATIC All normal objects can use this for registering themselves.
This value will never be returned by ISceneManager::getSceneNodeRenderPass(). The scene
manager will determine by itself if an object is transparent or solid and register the object as
SNRT_TRANSPARENT or SNRT_SOLD automatically if you call registerNodeForRendering
with this value (which is default). Note that it will register the node only as ONE type. If your
scene node has both solid and transparent material types register it twice (one time as SNRT_-
SOLID, the other time as SNRT_TRANSPARENT) and in the render() method call getScene-
NodeRenderPass() to find out the current render pass and render only the corresponding parts of
the node.
ESNRP_SOLID Solid scene nodes or special scene nodes without materials.
ESNRP_SHADOW Drawn after the transparent nodes, the time for drawing shadow volumes.
ESNRP_TRANSPARENT Transparent scene nodes, drawn after shadow nodes. They are sorted
from back to front and drawn in that order.
ESNRP_SHADER_0 Scene Nodes with special support.
ESNRP_SHADER_1
ESNRP_SHADER_2
ESNRP_SHADER_3
ESNRP_SHADER_4
ESNRP_SHADER_5
ESNRP_SHADER_6
ESNRP_SHADER_7
ESNRP_SHADER_8
ESNRP_SHADER_9
ESNRP_SHADER_10
ESNRP_COUNT Never used, value specifing how much parameters there are.
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::io
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::io
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Enumerations
• enum E_INTERPOLATION_MODE { EIM_CONSTANT = 0, EIM_LINEAR, EIM_COUNT }
Enumeration values:
EIM_CONSTANT
EIM_LINEAR
EIM_COUNT count of all available interpolation modes
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::video
Enumerations
• enum E_TEXTURE_CREATION_FLAG {
ETCF_ALWAYS_16_BIT = 0x00000001, ETCF_ALWAYS_32_BIT = 0x00000002, ETCF_-
OPTIMIZED_FOR_QUALITY = 0x00000004, ETCF_OPTIMIZED_FOR_SPEED = 0x00000008,
ETCF_CREATE_MIP_MAPS = 0x00000010, ETCF_NO_ALPHA_CHANNEL = 0x00000020,
ETCF_FORCE_32_BIT_DO_NOT_USE = 0x7fffffff }
Functions
• E_TEXTURE_CREATION_FLAG getTextureFormatFromFlags (u32 flags)
Enumeration flags telling the video driver in which format textures should be created.
Enumeration values:
ETCF_ALWAYS_16_BIT Forces the driver to create 16 bit textures always, independent of which
format the file on disk has. When choosing this you may loose some color detail, but gain
much speed and memory. 16 bit textures can be transferred twice as fast as 32 bit textures
and only use half of the space in memory. When using this flag, it does not make sense
to use the flags ETCF_ALWAYS_32_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_-
OPTIMIZED_FOR_SPEED at the same time.
ETCF_ALWAYS_32_BIT Forces the driver to create 32 bit textures always, independent of which
format the file on disk has. Please note that some drivers (like the software device) will ignore
this, because they are only able to create and use 16 bit textures. When using this flag, it does not
make sense to use the flags ETCF_ALWAYS_16_BIT, ETCF_OPTIMIZED_FOR_QUALITY,
or ETCF_OPTIMIZED_FOR_SPEED at the same time.
ETCF_OPTIMIZED_FOR_QUALITY Lets the driver decide in which format the textures are cre-
ated and tries to make the textures look as good as possible. Usually it simply chooses the format
in which the texture was stored on disk. When using this flag, it does not make sense to use
Helper function, helps to get the desired texture creation format from the flags. Returns either
ETCF_ALWAYS_32_BIT, ETCF_ALWAYS_16_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_-
OPTIMIZED_FOR_SPEED.
Definition at line 74 of file ITexture.h.
References irr::video::ETCF_ALWAYS_16_BIT, irr::video::ETCF_ALWAYS_32_BIT,
irr::video::ETCF_OPTIMIZED_FOR_QUALITY, and irr::video::ETCF_OPTIMIZED_FOR_SPEED.
Namespaces
• namespace irr
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::io
• namespace irr::scene
• namespace irr::video
Enumerations
• enum E_TRANSFORMATION_STATE {
ETS_VIEW = 0, ETS_WORLD, ETS_PROJECTION, ETS_TEXTURE_0,
ETS_TEXTURE_1, ETS_TEXTURE_2, ETS_TEXTURE_3, ETS_COUNT }
enumeration for geometry transformation states
Enumeration values:
ETS_VIEW View transformation.
ETS_WORLD World transformation.
ETS_PROJECTION Projection transformation.
ETS_TEXTURE_0 Texture transformation.
ETS_TEXTURE_1 Texture transformation.
Namespaces
• namespace irr
• namespace irr::video
Namespaces
• namespace irr
• namespace irr::io
Functions
• IWriteFile ∗ createWriteFile (const c8 ∗fileName, bool append)
Internal function, please do not use.
Namespaces
• namespace irr
• namespace irr::io
Typedefs
• typedef IIrrXMLReader< wchar_t, IReferenceCounted > IXMLReader
An xml reader for wide characters, derived from IReferenceCounted.
Namespaces
• namespace irr
• namespace irr::io
Namespaces
• namespace irr
Enumerations
• enum EKEY_CODE {
KEY_LBUTTON = 0x01, KEY_RBUTTON = 0x02, KEY_CANCEL = 0x03, KEY_MBUTTON =
0x04,
KEY_XBUTTON1 = 0x05, KEY_XBUTTON2 = 0x06, KEY_BACK = 0x08, KEY_TAB = 0x09,
KEY_CLEAR = 0x0C, KEY_RETURN = 0x0D, KEY_SHIFT = 0x10, KEY_CONTROL = 0x11,
KEY_MENU = 0x12, KEY_PAUSE = 0x13, KEY_CAPITAL = 0x14, KEY_KANA = 0x15,
KEY_HANGUEL = 0x15, KEY_HANGUL = 0x15, KEY_JUNJA = 0x17, KEY_FINAL = 0x18,
KEY_HANJA = 0x19, KEY_KANJI = 0x19, KEY_ESCAPE = 0x1B, KEY_CONVERT = 0x1C,
KEY_NONCONVERT = 0x1D, KEY_ACCEPT = 0x1E, KEY_MODECHANGE = 0x1F, KEY_-
SPACE = 0x20,
KEY_PRIOR = 0x21, KEY_NEXT = 0x22, KEY_END = 0x23, KEY_HOME = 0x24,
KEY_LEFT = 0x25, KEY_UP = 0x26, KEY_RIGHT = 0x27, KEY_DOWN = 0x28,
KEY_SELECT = 0x29, KEY_PRINT = 0x2A, KEY_EXECUT = 0x2B, KEY_SNAPSHOT = 0x2C,
KEY_INSERT = 0x2D, KEY_DELETE = 0x2E, KEY_HELP = 0x2F, KEY_KEY_0 = 0x30,
KEY_KEY_1 = 0x31, KEY_KEY_2 = 0x32, KEY_KEY_3 = 0x33, KEY_KEY_4 = 0x34,
KEY_KEY_5 = 0x35, KEY_KEY_6 = 0x36, KEY_KEY_7 = 0x37, KEY_KEY_8 = 0x38,
KEY_KEY_9 = 0x39, KEY_KEY_A = 0x41, KEY_KEY_B = 0x42, KEY_KEY_C = 0x43,
KEY_KEY_D = 0x44, KEY_KEY_E = 0x45, KEY_KEY_F = 0x46, KEY_KEY_G = 0x47,
KEY_KEY_H = 0x48, KEY_KEY_I = 0x49, KEY_KEY_J = 0x4A, KEY_KEY_K = 0x4B,
KEY_KEY_L = 0x4C, KEY_KEY_M = 0x4D, KEY_KEY_N = 0x4E, KEY_KEY_O = 0x4F,
KEY_KEY_P = 0x50, KEY_KEY_Q = 0x51, KEY_KEY_R = 0x52, KEY_KEY_S = 0x53,
KEY_KEY_T = 0x54, KEY_KEY_U = 0x55, KEY_KEY_V = 0x56, KEY_KEY_W = 0x57,
KEY_KEY_X = 0x58, KEY_KEY_Y = 0x59, KEY_KEY_Z = 0x5A, KEY_LWIN = 0x5B,
KEY_RWIN = 0x5C, KEY_APPS = 0x5D, KEY_SLEEP = 0x5F, KEY_NUMPAD0 = 0x60,
KEY_NUMPAD1 = 0x61, KEY_NUMPAD2 = 0x62, KEY_NUMPAD3 = 0x63, KEY_NUMPAD4
= 0x64,
KEY_NUMPAD5 = 0x65, KEY_NUMPAD6 = 0x66, KEY_NUMPAD7 = 0x67, KEY_NUMPAD8
= 0x68,
KEY_NUMPAD9 = 0x69, KEY_MULTIPLY = 0x6A, KEY_ADD = 0x6B, KEY_SEPARATOR =
0x6C,
KEY_SUBTRACT = 0x6D, KEY_DECIMAL = 0x6E, KEY_DIVIDE = 0x6F, KEY_F1 = 0x70,
KEY_F2 = 0x71, KEY_F3 = 0x72, KEY_F4 = 0x73, KEY_F5 = 0x74,
KEY_F6 = 0x75, KEY_F7 = 0x76, KEY_F8 = 0x77, KEY_F9 = 0x78,
KEY_F10 = 0x79, KEY_F11 = 0x7A, KEY_F12 = 0x7B, KEY_F13 = 0x7C,
KEY_F14 = 0x7D, KEY_F15 = 0x7E, KEY_F16 = 0x7F, KEY_F17 = 0x80,
Enumeration values:
KEY_LBUTTON
KEY_RBUTTON
KEY_CANCEL
KEY_MBUTTON
KEY_XBUTTON1
KEY_XBUTTON2
KEY_BACK
KEY_TAB
KEY_CLEAR
KEY_RETURN
KEY_SHIFT
KEY_CONTROL
KEY_MENU
KEY_PAUSE
KEY_CAPITAL
KEY_KANA
KEY_HANGUEL
KEY_HANGUL
KEY_JUNJA
KEY_FINAL
KEY_HANJA
KEY_KANJI
KEY_ESCAPE
KEY_CONVERT
KEY_NONCONVERT
KEY_ACCEPT
KEY_MODECHANGE
KEY_SPACE
KEY_PRIOR
KEY_NEXT
KEY_END
KEY_HOME
KEY_LEFT
KEY_UP
KEY_RIGHT
KEY_DOWN
KEY_SELECT
KEY_PRINT
KEY_EXECUT
KEY_SNAPSHOT
KEY_INSERT
KEY_DELETE
KEY_HELP
KEY_KEY_0
KEY_KEY_1
KEY_KEY_2
KEY_KEY_3
KEY_KEY_4
KEY_KEY_5
KEY_KEY_6
KEY_KEY_7
KEY_KEY_8
KEY_KEY_9
KEY_KEY_A
KEY_KEY_B
KEY_KEY_C
KEY_KEY_D
KEY_KEY_E
KEY_KEY_F
KEY_KEY_G
KEY_KEY_H
KEY_KEY_I
KEY_KEY_J
KEY_KEY_K
KEY_KEY_L
KEY_KEY_M
KEY_KEY_N
KEY_KEY_O
KEY_KEY_P
KEY_KEY_Q
KEY_KEY_R
KEY_KEY_S
KEY_KEY_T
KEY_KEY_U
KEY_KEY_V
KEY_KEY_W
KEY_KEY_X
KEY_KEY_Y
KEY_KEY_Z
KEY_LWIN
KEY_RWIN
KEY_APPS
KEY_SLEEP
KEY_NUMPAD0
KEY_NUMPAD1
KEY_NUMPAD2
KEY_NUMPAD3
KEY_NUMPAD4
KEY_NUMPAD5
KEY_NUMPAD6
KEY_NUMPAD7
KEY_NUMPAD8
KEY_NUMPAD9
KEY_MULTIPLY
KEY_ADD
KEY_SEPARATOR
KEY_SUBTRACT
KEY_DECIMAL
KEY_DIVIDE
KEY_F1
KEY_F2
KEY_F3
KEY_F4
KEY_F5
KEY_F6
KEY_F7
KEY_F8
KEY_F9
KEY_F10
KEY_F11
KEY_F12
KEY_F13
KEY_F14
KEY_F15
KEY_F16
KEY_F17
KEY_F18
KEY_F19
KEY_F20
KEY_F21
KEY_F22
KEY_F23
KEY_F24
KEY_NUMLOCK
KEY_SCROLL
KEY_LSHIFT
KEY_RSHIFT
KEY_LCONTROL
KEY_RCONTROL
KEY_LMENU
KEY_RMENU
KEY_PLUS
KEY_COMMA
KEY_MINUS
KEY_PERIOD
KEY_ATTN
KEY_CRSEL
KEY_EXSEL
KEY_EREOF
KEY_PLAY
KEY_ZOOM
KEY_PA1
KEY_OEM_CLEAR
KEY_KEY_CODES_COUNT
Namespaces
• namespace irr
• namespace irr::core
Typedefs
• typedef line2d< f32 > line2df
Typedef for an f32 line.
Namespaces
• namespace irr
• namespace irr::core
Typedefs
• typedef line3d< f32 > line3df
Typedef for an f32 line.
Namespaces
• namespace irr
• namespace irr::core
Typedefs
• typedef CMatrix4< f32 > matrix4
Typedef for f32 matrix.
Functions
• template<class T> CMatrix4< T > operator ∗ (const T scalar, const CMatrix4< T > &mat)
Variables
• const matrix4 IdentityMatrix (matrix4::EM4CONST_IDENTITY)
global const identity matrix
8.126.2.1 template<class T> CMatrix4<T> operator ∗ (const T scalar, const CMatrix4< T > &
mat) [inline]
Namespaces
• namespace irr
• namespace irr::core
Typedefs
Enumerations
• enum EIntersectionRelation3D {
ISREL3D_FRONT = 0, ISREL3D_BACK, ISREL3D_PLANAR, ISREL3D_SPANNING,
ISREL3D_CLIPPED }
Enumeration for intersection relations of 3d objects.
Enumeration values:
ISREL3D_FRONT
ISREL3D_BACK
ISREL3D_PLANAR
ISREL3D_SPANNING
ISREL3D_CLIPPED
Namespaces
• namespace irr
• namespace irr::core
Typedefs
• typedef position2d< f32 > position2df
Typedef for an f32 position.
Namespaces
• namespace irr
• namespace irr::core
Namespaces
• namespace irr
• namespace irr::core
Namespaces
• namespace irr
• namespace irr::video
Enumerations
• enum E_VERTEX_TYPE { EVT_STANDARD = 0, EVT_2TCOORDS, EVT_TANGENTS }
Enumeration for all vertex types there are.
Functions
• u32 getVertexPitchFromType (E_VERTEX_TYPE vertexType)
Variables
• const char ∗const sBuiltInVertexTypeNames [ ]
Array holding the built in vertex type names.
Enumeration values:
EVT_STANDARD Standard vertex type used by the Irrlicht engine, video::S3DVertex.
EVT_2TCOORDS Vertex with two texture coordinates, video::S3DVertex2TCoords.
Usually used for geometry with lightmaps or other special materials.
EVT_TANGENTS Vertex with a tangent and binormal vector, video::S3DVertexTangents.
Usually used for tangent space normal mapping.
Initial value:
{
"standard",
"2tcoords",
"tangents",
0
}
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Variables
Header file containing all scene parameters for modifying mesh loading etc.
This file includes all parameter names which can be set using ISceneManager::getParameters() to modify
the behaviour of plugins and mesh loaders.
Definition in file SceneParameters.h.
SceneManager->getParameters()->setAttribute(scene::COLLADA_CREATE_SCENE_INSTANCES, true);
Name of the parameter for changing the texture path of the built-in csm loader.
Use it like this:
SceneManager->getParameters()->setAttribute(scene::CSM_TEXTURE_PATH, "path/to/your/textures");
Name of the parameter for setting reference value of alpha in transparent materials.
Use it like this:
Name of the parameter for changing the texture path of the built-in DMF loader.
Use it like this:
SceneManager->getStringParameters()->setAttribute(scene::DMF_TEXTURE_PATH, "path/to/your/textures"
Name of the parameter for preserving DMF textures dir structure with built-in DMF loader.
Use it like this:
Name of the parameter for changing the texture path of the built-in lmts loader.
Use it like this:
SceneManager->getParameters()->setAttribute(scene::LMTS_TEXTURE_PATH, "path/to/your/textures");
Name of the parameter for changing the texture path of the built-in my3d loader.
Use it like this:
SceneManager->getParameters()->setAttribute(scene::MY3D_TEXTURE_PATH, "path/to/your/textures");
Namespaces
• namespace irr
• namespace irr::video
Functions
• u32 A1R5G5B5toA8R8G8B8 (u16 color)
Convert A8R8G8B8 Color from A1R5G5B5 color.
Namespaces
• namespace irr
• namespace irr::video
Namespaces
• namespace irr
Namespaces
• namespace irr
Enumerations
• enum EKEY_ACTION {
EKA_MOVE_FORWARD = 0, EKA_MOVE_BACKWARD, EKA_STRAFE_LEFT, EKA_-
STRAFE_RIGHT,
EKA_JUMP_UP, EKA_COUNT, EKA_FORCE_32BIT = 0x7fffffff }
enumeration for key actions. Used for example in the FPS Camera.
enumeration for key actions. Used for example in the FPS Camera.
Enumeration values:
EKA_MOVE_FORWARD
EKA_MOVE_BACKWARD
EKA_STRAFE_LEFT
EKA_STRAFE_RIGHT
EKA_JUMP_UP
EKA_COUNT
EKA_FORCE_32BIT This value is not used. It only forces this enumeration to compile in 32 bit.
Namespaces
• namespace irr
• namespace irr::video
Enumerations
• enum E_LIGHT_TYPE { ELT_POINT, ELT_SPOT, ELT_DIRECTIONAL }
Enumeration for different types of lights.
Variables
• const c8 ∗const LightTypeNames [ ]
Names for light types.
Enumeration values:
ELT_POINT point light, it has a position in space and radiates light in all directions
ELT_SPOT spot light, it has a position in space, a direction, and a limited cone of influence
ELT_DIRECTIONAL directional light, coming from a direction from an infinite distance
Initial value:
{
"Point",
"Spot",
"Directional",
0
}
Namespaces
• namespace irr
• namespace irr::video
Enumerations
• enum E_BLEND_FACTOR {
EBF_ZERO = 0, EBF_ONE, EBF_DST_COLOR, EBF_ONE_MINUS_DST_COLOR,
EBF_SRC_COLOR, EBF_ONE_MINUS_SRC_COLOR, EBF_SRC_ALPHA, EBF_ONE_-
MINUS_SRC_ALPHA,
EBF_DST_ALPHA, EBF_ONE_MINUS_DST_ALPHA, EBF_SRC_ALPHA_SATURATE }
Flag for EMT_ONETEXTURE_BLEND, ( BlendFactor ) BlendFunc = source ∗ sourceFactor + dest ∗ dest-
Factor.
Functions
• f32 pack_texureBlendFunc (const E_BLEND_FACTOR srcFact, const E_BLEND_FACTOR dst-
Fact, const E_MODULATE_FUNC modulate)
EMT_ONETEXTURE_BLEND: pack srcFact & dstFact and Modulo to MaterialTypeParam.
Variables
• const u32 MATERIAL_MAX_TEXTURES = 4
Maximum number of texture an SMaterial can have.
Enumeration values:
EBF_ZERO src & dest (0, 0, 0, 0)
EBF_ONE src & dest (1, 1, 1, 1)
EBF_DST_COLOR src (destR, destG, destB, destA)
EBF_ONE_MINUS_DST_COLOR src (1-destR, 1-destG, 1-destB, 1-destA)
EBF_SRC_COLOR dest (srcR, srcG, srcB, srcA)
EBF_ONE_MINUS_SRC_COLOR dest (1-srcR, 1-srcG, 1-srcB, 1-srcA)
EBF_SRC_ALPHA src & dest (srcA, srcA, srcA, srcA)
EBF_ONE_MINUS_SRC_ALPHA src & dest (1-srcA, 1-srcA, 1-srcA, 1-srcA)
EBF_DST_ALPHA src & dest (destA, destA, destA, destA)
EBF_ONE_MINUS_DST_ALPHA src & dest (1-destA, 1-destA, 1-destA, 1-destA)
EBF_SRC_ALPHA_SATURATE src (min(srcA, 1-destA), idem, ...)
Enumeration values:
EMFN_MODULATE_1X
EMFN_MODULATE_2X
EMFN_MODULATE_4X
Namespaces
• namespace irr
• namespace irr::video
Enumerations
• enum E_TEXTURE_CLAMP {
ETC_REPEAT = 0, ETC_CLAMP, ETC_CLAMP_TO_EDGE, ETC_CLAMP_TO_BORDER,
ETC_MIRROR }
Texture coord clamp mode outside [0.0, 1.0].
Enumeration values:
ETC_REPEAT Texture repeats.
ETC_CLAMP Texture is clamped to the last pixel.
ETC_CLAMP_TO_EDGE Texture is clamped to the edge pixel.
ETC_CLAMP_TO_BORDER Texture is clamped to the border pixel (if exists).
ETC_MIRROR Texture is alternatingly mirrored (0..1..0..1..0..).
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::scene
Namespaces
• namespace irr
• namespace irr::core
Typedefs
• typedef triangle3d< f32 > triangle3df
Typedef for a f32 3d triangle.
Namespaces
• namespace irr
• namespace irr::core
Typedefs
• typedef vector2d< f32 > vector2df
Typedef for f32 2d vector.
Functions
• template<class S, class T> vector2d< T > operator ∗ (const S scalar, const vector2d< T > &vector)
8.150.2.1 template<class S, class T> vector2d<T> operator ∗ (const S scalar, const vector2d< T
> & vector)
Namespaces
• namespace irr
• namespace irr::core
Typedefs
• typedef vector3d< f32 > vector3df
Typedef for a f32 3d vector.
Functions
• template<class S, class T> vector3d< T > operator ∗ (const S scalar, const vector3d< T > &vec-
tor)
Function multiplying a scalar and a vector component-wise.
8.151.2.1 template<class S, class T> vector3d<T> operator ∗ (const S scalar, const vector3d< T
> & vector)