arsa  2.7
Namespaces | Classes | Typedefs | Enumerations | Variables
irr::scene Namespace Reference

All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees and billboards, ... More...

Namespaces

 quake3
 

Classes

class  CDynamicMeshBuffer
 
class  CIndexBuffer
 
class  CMeshBuffer
 Template implementation of the IMeshBuffer interface. More...
 
class  CVertexBuffer
 
class  IAnimatedMesh
 Interface for an animated mesh. More...
 
class  IAnimatedMeshMD2
 Interface for using some special functions of MD2 meshes. More...
 
class  IAnimatedMeshMD3
 Interface for using some special functions of MD3 meshes. More...
 
class  IAnimatedMeshSceneNode
 Scene node capable of displaying an animated mesh. More...
 
class  IAnimationEndCallBack
 Callback interface for catching events of ended animations. More...
 
class  IBillboardSceneNode
 A billboard scene node. More...
 
class  IBillboardTextSceneNode
 A billboard text scene node. More...
 
class  IBoneSceneNode
 Interface for bones used for skeletal animation. More...
 
class  ICameraSceneNode
 Scene Node which is a (controllable) camera. More...
 
class  IColladaMeshWriter
 Interface for writing meshes. More...
 
class  IColladaMeshWriterNames
 Callback interface to use custom names on collada writing. More...
 
class  IColladaMeshWriterProperties
 Callback interface for properties which can be used to influence collada writing. More...
 
class  ICollisionCallback
 Callback interface for catching events of collisions. More...
 
class  IDummyTransformationSceneNode
 Dummy scene node for adding additional transformations to the scene graph. More...
 
class  IDynamicMeshBuffer
 
class  IGeometryCreator
 Helper class for creating geometry on the fly. More...
 
class  IIndexBuffer
 
class  ILightManager
 ILightManager provides an interface for user applications to manipulate the list of lights in the scene. More...
 
class  ILightSceneNode
 Scene node which is a dynamic light. More...
 
class  IMesh
 Class which holds the geometry of an object. More...
 
class  IMeshBuffer
 Struct for holding a mesh with a single material. More...
 
class  IMeshCache
 The mesh cache stores already loaded meshes and provides an interface to them. More...
 
class  IMeshLoader
 Class which is able to load an animated mesh from a file. More...
 
class  IMeshManipulator
 An interface for easy manipulation of meshes. More...
 
class  IMeshSceneNode
 A scene node displaying a static mesh. More...
 
class  IMeshTextureLoader
 Finding and loading textures inside meshloaders. More...
 
class  IMeshWriter
 Interface for writing meshes. More...
 
class  IMetaTriangleSelector
 Interface for making multiple triangle selectors work as one big selector. More...
 
class  IOctreeSceneNode
 A scene node displaying a static mesh. More...
 
class  IParticleAffector
 A particle affector modifies particles. More...
 
class  IParticleAnimatedMeshSceneNodeEmitter
 A particle emitter which emits particles from mesh vertices. More...
 
class  IParticleAttractionAffector
 A particle affector which attracts or detracts particles. More...
 
class  IParticleBoxEmitter
 A particle emitter which emits particles from a box shaped space. More...
 
class  IParticleCylinderEmitter
 A particle emitter which emits from a cylindrically shaped space. More...
 
class  IParticleEmitter
 A particle emitter for using with particle systems. More...
 
class  IParticleFadeOutAffector
 A particle affector which fades out the particles. More...
 
class  IParticleGravityAffector
 A particle affector which applies gravity to particles. More...
 
class  IParticleMeshEmitter
 A particle emitter which emits from vertices of a mesh. More...
 
class  IParticleRingEmitter
 A particle emitter which emits particles along a ring shaped area. More...
 
class  IParticleRotationAffector
 A particle affector which rotates the particle system. More...
 
class  IParticleSphereEmitter
 A particle emitter which emits from a spherical space. More...
 
class  IParticleSystemSceneNode
 
class  IQ3LevelMesh
 Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file. More...
 
class  ISceneCollisionManager
 The Scene Collision Manager provides methods for performing collision tests and picking on scene nodes. More...
 
class  ISceneLoader
 Class which can load a scene into the scene manager. More...
 
class  ISceneManager
 The Scene Manager manages scene nodes, mesh resources, cameras and all the other stuff. More...
 
class  ISceneNode
 Scene node interface. More...
 
class  ISceneNodeAnimator
 Animates a scene node. Can animate position, rotation, material, and so on. More...
 
class  ISceneNodeAnimatorCameraFPS
 Special scene node animator for FPS cameras. More...
 
class  ISceneNodeAnimatorCameraMaya
 Special scene node animator for Maya-style cameras. More...
 
class  ISceneNodeAnimatorCollisionResponse
 Special scene node animator for doing automatic collision detection and response. More...
 
class  ISceneNodeAnimatorFactory
 Interface for dynamic creation of scene node animators. More...
 
class  ISceneNodeFactory
 Interface for dynamic creation of scene nodes. More...
 
class  ISceneUserDataSerializer
 Interface to read and write user data to and from .irr files. More...
 
class  IShadowVolumeSceneNode
 Scene node for rendering a shadow volume into a stencil buffer. More...
 
class  ISkinnedMesh
 Interface for using some special functions of Skinned meshes. More...
 
class  ITerrainSceneNode
 A scene node for displaying terrain using the geo mip map algorithm. More...
 
class  ITextSceneNode
 A scene node for displaying 2d text at a position in three dimensional space. More...
 
class  ITriangleSelector
 Interface to return triangles with specific properties. More...
 
class  IVertexBuffer
 
struct  IVertexManipulator
 Interface for vertex manipulators. More...
 
class  IVolumeLightSceneNode
 
struct  SAnimatedMesh
 Simple implementation of the IAnimatedMesh interface. More...
 
struct  SCollisionHit
 
struct  SCollisionTriangleRange
 Additional information about the triangle arrays returned by ITriangleSelector::getTriangles. More...
 
struct  SMD3AnimationInfo
 
struct  SMD3Face
 Triangle Index. More...
 
struct  SMD3Header
 this holds the header info of the MD3 file More...
 
struct  SMD3Mesh
 Holding Frames Buffers and Tag Infos. More...
 
struct  SMD3MeshBuffer
 Holding Frame Data for a Mesh. More...
 
struct  SMD3MeshHeader
 this holds the header info of an MD3 mesh section More...
 
struct  SMD3QuaternionTag
 hold a tag info for connecting meshes More...
 
struct  SMD3QuaternionTagList
 holds a associative list of named quaternions More...
 
struct  SMD3TexCoord
 Texture Coordinate. More...
 
struct  SMD3Vertex
 Compressed Vertex Data. More...
 
struct  SMesh
 Simple implementation of the IMesh interface. More...
 
struct  SParticle
 Struct for holding particle data. More...
 
struct  SSharedMeshBuffer
 Implementation of the IMeshBuffer interface with shared vertex list. More...
 
struct  SSkinMeshBuffer
 A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime. More...
 
class  SVertexColorBrightnessManipulator
 Vertex manipulator which adjusts the brightness by the given amount. More...
 
class  SVertexColorContrastBrightnessManipulator
 Vertex manipulator which adjusts the contrast by the given factor and brightness by a signed amount. More...
 
class  SVertexColorContrastManipulator
 Vertex manipulator which adjusts the contrast by the given factor. More...
 
class  SVertexColorDesaturateToAverageManipulator
 Vertex manipulator which desaturates the color values. More...
 
class  SVertexColorDesaturateToLightnessManipulator
 Vertex manipulator which desaturates the color values. More...
 
class  SVertexColorDesaturateToLuminanceManipulator
 Vertex manipulator which desaturates the color values. More...
 
class  SVertexColorGammaManipulator
 Vertex manipulator which adjusts the brightness by a gamma operation. More...
 
class  SVertexColorInterpolateLinearManipulator
 Vertex manipulator which interpolates the color values. More...
 
class  SVertexColorInterpolateQuadraticManipulator
 Vertex manipulator which interpolates the color values. More...
 
class  SVertexColorInvertManipulator
 Vertex manipulator which inverts the RGB values. More...
 
class  SVertexColorScaleManipulator
 Vertex manipulator which scales the color values. More...
 
class  SVertexColorSetAlphaManipulator
 Vertex manipulator to set the alpha value of the vertex color to a fixed value. More...
 
class  SVertexColorSetManipulator
 Vertex manipulator to set color to a fixed color for all vertices. More...
 
class  SVertexColorThresholdManipulator
 Vertex manipulator to set vertex color to one of two values depending on a given threshold. More...
 
class  SVertexNormalTransformManipulator
 Vertex manipulator which transforms the normal of the vertex. More...
 
class  SVertexPositionScaleAlongNormalsManipulator
 Vertex manipulator which scales the position of the vertex along the normals. More...
 
class  SVertexPositionScaleManipulator
 Vertex manipulator which scales the position of the vertex. More...
 
class  SVertexPositionTransformManipulator
 Vertex manipulator which transforms the position of the vertex. More...
 
class  SVertexTCoordsScaleManipulator
 Vertex manipulator which scales the TCoords of the vertex. More...
 
struct  SViewFrustum
 Defines the view frustum. That's the space visible by the camera. More...
 

Typedefs

typedef CMeshBuffer< video::S3DVertexSMeshBuffer
 Standard meshbuffer. More...
 
typedef CMeshBuffer< video::S3DVertex2TCoordsSMeshBufferLightMap
 Meshbuffer with two texture coords per vertex, e.g. for lightmaps. More...
 
typedef CMeshBuffer< video::S3DVertexTangentsSMeshBufferTangents
 Meshbuffer with vertices having tangents stored, e.g. for normal mapping. More...
 
typedef IParticleEmitter IParticlePointEmitter
 
typedef core::list< ISceneNode * > ISceneNodeList
 Typedef for list of scene nodes. More...
 
typedef core::list< ISceneNodeAnimator * > ISceneNodeAnimatorList
 Typedef for list of scene node animators. More...
 

Enumerations

enum  E_CULLING_TYPE {
  EAC_OFF = 0, EAC_BOX = 1, EAC_FRUSTUM_BOX = 2, EAC_FRUSTUM_SPHERE = 4,
  EAC_OCC_QUERY = 8
}
 An enumeration for all types of automatic culling for built-in scene nodes. More...
 
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_BBOX_ALL = EDS_BBOX | EDS_BBOX_BUFFERS,
  EDS_FULL = 0xffffffff
}
 An enumeration for all types of debug data for built-in scene nodes (flags) More...
 
enum  E_HARDWARE_MAPPING { EHM_NEVER =0, EHM_STATIC, EHM_DYNAMIC, EHM_STREAM }
 
enum  E_BUFFER_TYPE { EBT_NONE =0, EBT_VERTEX, EBT_INDEX, EBT_VERTEX_AND_INDEX }
 
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), EMWT_OBJ = MAKE_IRR_ID('o','b','j',0),
  EMWT_PLY = MAKE_IRR_ID('p','l','y',0), EMWT_B3D = MAKE_IRR_ID('b', '3', 'd', 0)
}
 An enumeration for all supported types of built-in mesh writers. More...
 
enum  E_MESH_WRITER_FLAGS { EMWF_NONE = 0, EMWF_WRITE_LIGHTMAPS = 0x1, EMWF_WRITE_COMPRESSED = 0x2, EMWF_WRITE_BINARY = 0x4 }
 flags configuring mesh writing More...
 
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. More...
 
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_CAMERA_FPS,
  ESNAT_CAMERA_MAYA, ESNAT_COUNT, ESNAT_UNKNOWN, ESNAT_FORCE_32_BIT = 0x7fffffff
}
 An enumeration for all types of built-in scene node animators. More...
 
enum  ESCENE_NODE_TYPE {
  ESNT_SCENE_MANAGER = MAKE_IRR_ID('s','m','n','g'), 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_BILLBOARD_TEXT = MAKE_IRR_ID('b','t','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_SKY_DOME = MAKE_IRR_ID('s','k','y','d'), ESNT_SHADOW_VOLUME = MAKE_IRR_ID('s','h','d','w'), ESNT_OCTREE = MAKE_IRR_ID('o','c','t','r'), 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_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_Q3SHADER_SCENE_NODE = MAKE_IRR_ID('q','3','s','h'),
  ESNT_MD3_SCENE_NODE = MAKE_IRR_ID('m','d','3','_'), ESNT_VOLUME_LIGHT = MAKE_IRR_ID('v','o','l','l'), ESNT_CAMERA_MAYA = MAKE_IRR_ID('c','a','m','M'), ESNT_CAMERA_FPS = MAKE_IRR_ID('c','a','m','F'),
  ESNT_UNKNOWN = MAKE_IRR_ID('u','n','k','n'), ESNT_ANY = MAKE_IRR_ID('a','n','y','_')
}
 An enumeration for all types of built-in scene nodes. More...
 
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 More...
 
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. More...
 
enum  eMD3Models {
  EMD3_HEAD = 0, EMD3_UPPER, EMD3_LOWER, EMD3_WEAPON,
  EMD3_NUMMODELS
}
 
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. More...
 
enum  E_JOINT_UPDATE_ON_RENDER { EJUOR_NONE = 0, EJUOR_READ, EJUOR_CONTROL }
 
enum  E_BONE_ANIMATION_MODE { EBAM_AUTOMATIC =0, EBAM_ANIMATED, EBAM_UNANIMATED, EBAM_COUNT }
 Enumeration for different bone animation modes. More...
 
enum  E_BONE_SKINNING_SPACE { EBSS_LOCAL =0, EBSS_GLOBAL, EBSS_COUNT }
 
enum  E_COLLADA_TECHNIQUE_FX { ECTF_BLINN, ECTF_PHONG, ECTF_LAMBERT, ECTF_CONSTANT }
 Lighting models - more or less the way Collada categorizes materials. More...
 
enum  E_COLLADA_TRANSPARENT_FX { ECOF_A_ONE = 0, ECOF_RGB_ZERO = 1 }
 How to interpret the opacity in collada. More...
 
enum  E_COLLADA_COLOR_SAMPLER {
  ECCS_DIFFUSE, ECCS_AMBIENT, ECCS_EMISSIVE, ECCS_SPECULAR,
  ECCS_TRANSPARENT, ECCS_REFLECTIVE
}
 Color names collada uses in it's color samplers. More...
 
enum  E_COLLADA_IRR_COLOR {
  ECIC_NONE, ECIC_CUSTOM, ECIC_DIFFUSE, ECIC_AMBIENT,
  ECIC_EMISSIVE, ECIC_SPECULAR
}
 Irrlicht colors which can be mapped to E_COLLADA_COLOR_SAMPLER values. More...
 
enum  E_COLLADA_GEOMETRY_WRITING { ECGI_PER_MESH, ECGI_PER_MESH_AND_MATERIAL }
 Control when geometry elements are created. More...
 
enum  ECUBE_MESH_TYPE { ECMT_1BUF_12VTX_NA, ECMT_6BUF_4VTX_NP }
 
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_MDL_HALFLIFE, EAMT_SKINNED,
  EAMT_STATIC
}
 Possible types of meshes. More...
 
enum  EOCTREENODE_VBO { EOV_NO_VBO, EOV_USE_VBO, EOV_USE_VBO_WITH_VISIBITLY }
 Settings if/how octree scene nodes are using hardware mesh-buffers. More...
 
enum  EOCTREE_POLYGON_CHECKS { EOPC_BOX, EOPC_FRUSTUM }
 Kind of checks polygons of the octree scene nodes use against camera. More...
 
enum  E_PARTICLE_AFFECTOR_TYPE {
  EPAT_NONE = 0, EPAT_ATTRACT, EPAT_FADE_OUT, EPAT_GRAVITY,
  EPAT_ROTATE, EPAT_SCALE, EPAT_COUNT
}
 Types of built in particle affectors. More...
 
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. More...
 
enum  EParticleBehavior {
  EPB_INVISIBLE_EMITTING = 1, EPB_INVISIBLE_AFFECTING = 2, EPB_INVISIBLE_ANIMATING = 4, EPB_CLEAR_ON_INVISIBLE = 8,
  EPB_EMITTER_VECTOR_IGNORE_ROTATION = 16, EPB_EMITTER_FRAME_INTERPOLATION = 32
}
 A particle system scene node for creating snow, fire, explosions, smoke... More...
 
enum  E_SCENE_NODE_RENDER_PASS {
  ESNRP_NONE =0, ESNRP_CAMERA =1, ESNRP_LIGHT =2, ESNRP_SKY_BOX =4,
  ESNRP_AUTOMATIC =24, ESNRP_SOLID =8, ESNRP_TRANSPARENT =16, ESNRP_TRANSPARENT_EFFECT =32,
  ESNRP_SHADOW =64
}
 Enumeration for render passes. More...
 
enum  ESHADOWVOLUME_OPTIMIZATION { ESV_NONE, ESV_SILHOUETTE_BY_POS }
 
enum  E_INTERPOLATION_MODE { EIM_CONSTANT = 0, EIM_LINEAR, EIM_COUNT }
 

Variables

const int ESNT_ARSA_DPAD = MAKE_IRR_ID('a', 'd', 'p', 'a')
 
const int ESNT_ARSA_JSON = MAKE_IRR_ID('a', 'j', 's', 'o')
 
const int ESNT_ARSA_PSD = MAKE_IRR_ID('a','p','s','d')
 
const int ESNT_AV = MAKE_IRR_ID('f','f','a','v')
 
const c8 *const AutomaticCullingNames []
 Names for culling type. More...
 
struct irr::scene::SMD3Header PACK_STRUCT
 
const c8 *const BoneAnimationModeNames []
 Names for bone animation modes. More...
 
const c8 *const ParticleAffectorTypeNames []
 Names for built in particle affectors. More...
 
const c8 *const ParticleEmitterTypeNames []
 Names for built in particle emitters. More...
 
const c8 *const ALLOW_ZWRITE_ON_TRANSPARENT = "Allow_ZWrite_On_Transparent"
 Name of the parameter for changing how Irrlicht handles the ZWrite flag for transparent (blending) materials. More...
 
const c8 *const CSM_TEXTURE_PATH = "CSM_TexturePath"
 Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. More...
 
const c8 *const LMTS_TEXTURE_PATH = "LMTS_TexturePath"
 Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. More...
 
const c8 *const MY3D_TEXTURE_PATH = "MY3D_TexturePath"
 Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. More...
 
const c8 *const COLLADA_CREATE_SCENE_INSTANCES = "COLLADA_CreateSceneInstances"
 Name of the parameter specifying the COLLADA mesh loading mode. More...
 
const c8 *const DMF_TEXTURE_PATH = "DMF_TexturePath"
 Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. More...
 
const c8 *const DMF_IGNORE_MATERIALS_DIRS = "DMF_IgnoreMaterialsDir"
 Name of the parameter for preserving DMF textures dir structure with built-in DMF loader. More...
 
const c8 *const DMF_ALPHA_CHANNEL_REF = "DMF_AlphaRef"
 Name of the parameter for setting reference value of alpha in transparent materials. More...
 
const c8 *const DMF_FLIP_ALPHA_TEXTURES = "DMF_FlipAlpha"
 Name of the parameter for choose to flip or not tga files. More...
 
const c8 *const OBJ_TEXTURE_PATH = "OBJ_TexturePath"
 Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. More...
 
const c8 *const OBJ_LOADER_IGNORE_GROUPS = "OBJ_IgnoreGroups"
 Flag to avoid loading group structures in .obj files. More...
 
const c8 *const OBJ_LOADER_IGNORE_MATERIAL_FILES = "OBJ_IgnoreMaterialFiles"
 Flag to avoid loading material .mtl file for .obj files. More...
 
const c8 *const B3D_LOADER_IGNORE_MIPMAP_FLAG = "B3D_IgnoreMipmapFlag"
 Flag to ignore the b3d file's mipmapping flag. More...
 
const c8 *const B3D_TEXTURE_PATH = "B3D_TexturePath"
 Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. More...
 
const c8 *const IRR_SCENE_MANAGER_IS_EDITOR = "IRR_Editor"
 Flag set as parameter when the scene manager is used as editor. More...
 
const c8 *const DEBUG_NORMAL_LENGTH = "DEBUG_Normal_Length"
 Name of the parameter for setting the length of debug normals. More...
 
const c8 *const DEBUG_NORMAL_COLOR = "DEBUG_Normal_Color"
 Name of the parameter for setting the color of debug normals. More...
 

Detailed Description

All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees and billboards, ...

Typedef Documentation

◆ IParticlePointEmitter

Definition at line 121 of file IParticleEmitter.h.

◆ ISceneNodeAnimatorList

Typedef for list of scene node animators.

Definition at line 30 of file ISceneNode.h.

◆ ISceneNodeList

Typedef for list of scene nodes.

Definition at line 25 of file ISceneNode.h.

◆ SMeshBuffer

Standard meshbuffer.

Definition at line 309 of file CMeshBuffer.h.

◆ SMeshBufferLightMap

Meshbuffer with two texture coords per vertex, e.g. for lightmaps.

Definition at line 311 of file CMeshBuffer.h.

◆ SMeshBufferTangents

Meshbuffer with vertices having tangents stored, e.g. for normal mapping.

Definition at line 313 of file CMeshBuffer.h.

Enumeration Type Documentation

◆ E_ANIMATED_MESH_TYPE

Possible types of meshes.

Enumerator
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_MDL_HALFLIFE 

Halflife MDL model file.

EAMT_SKINNED 

generic skinned mesh

EAMT_STATIC 

generic non-animated mesh

Definition at line 19 of file IMesh.h.

20  {
22  EAMT_UNKNOWN = 0,
23 
25  EAMT_MD2,
26 
28  EAMT_MD3,
29 
31  EAMT_OBJ,
32 
34  EAMT_BSP,
35 
37  EAMT_3DS,
38 
40  EAMT_MY3D,
41 
43  EAMT_LMTS,
44 
46  EAMT_CSM,
47 
49 
51  EAMT_OCT,
52 
55 
58 
61  };
My3D Mesh, the file format by Zhuck Dimitry.
Definition: IMesh.h:40
Cartography Shop .csm file. This loader was created by Saurav Mohapatra.
Definition: IMesh.h:46
Unknown animated mesh type.
Definition: IMesh.h:22
Quake 2 MD2 model file.
Definition: IMesh.h:25
.oct file for Paul Nette's FSRad or from Murphy McCauley's Blender .oct exporter.
Definition: IMesh.h:51
Halflife MDL model file.
Definition: IMesh.h:54
generic non-animated mesh
Definition: IMesh.h:60
Quake 3 MD3 model file.
Definition: IMesh.h:28
Pulsar LMTools .lmts file. This Irrlicht loader was written by Jonas Petersen.
Definition: IMesh.h:43
3D Studio .3ds file
Definition: IMesh.h:37
Maya .obj static model.
Definition: IMesh.h:31
generic skinned mesh
Definition: IMesh.h:57
Quake 3 .bsp static Map.
Definition: IMesh.h:34

◆ E_BONE_ANIMATION_MODE

Enumeration for different bone animation modes.

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

Definition at line 16 of file IBoneSceneNode.h.

17  {
20 
23 
26 
29 
30  };
The bone is not animated by the skin.
Not an animation mode, just here to count the available modes.
The bone is animated by the skin, if it's parent is not animated then animation will resume from this...
The bone is usually animated, unless it's parent is not animated.

◆ E_BONE_SKINNING_SPACE

Enumerator
EBSS_LOCAL 

local skinning, standard

EBSS_GLOBAL 

global skinning

EBSS_COUNT 

Definition at line 32 of file IBoneSceneNode.h.

33  {
35  EBSS_LOCAL=0,
36 
39 
41  };
local skinning, standard

◆ E_BUFFER_TYPE

Enumerator
EBT_NONE 

Does not change anything.

EBT_VERTEX 

Change the vertex mapping.

EBT_INDEX 

Change the index mapping.

EBT_VERTEX_AND_INDEX 

Change both vertex and index mapping to the same value.

Definition at line 28 of file EHardwareBufferFlags.h.

29  {
31  EBT_NONE=0,
33  EBT_VERTEX,
35  EBT_INDEX,
38  };
Change the vertex mapping.
Does not change anything.
Change both vertex and index mapping to the same value.
Change the index mapping.

◆ E_COLLADA_COLOR_SAMPLER

Color names collada uses in it's color samplers.

Enumerator
ECCS_DIFFUSE 
ECCS_AMBIENT 
ECCS_EMISSIVE 
ECCS_SPECULAR 
ECCS_TRANSPARENT 
ECCS_REFLECTIVE 

Definition at line 47 of file IColladaMeshWriter.h.

◆ E_COLLADA_GEOMETRY_WRITING

Control when geometry elements are created.

Enumerator
ECGI_PER_MESH 

Default - write each mesh exactly once to collada. Optimal but will not work with many tools.

ECGI_PER_MESH_AND_MATERIAL 

Write each mesh as often as it's used with different materials-names in the scene. Material names which are used here are created on export, so using the IColladaMeshWriterNames interface you have some control over how many geometries are written.

Definition at line 80 of file IColladaMeshWriter.h.

81  {
84 
89  };
Default - write each mesh exactly once to collada. Optimal but will not work with many tools.

◆ E_COLLADA_IRR_COLOR

Irrlicht colors which can be mapped to E_COLLADA_COLOR_SAMPLER values.

Enumerator
ECIC_NONE 

Don't write this element at all.

ECIC_CUSTOM 

Check IColladaMeshWriterProperties for custom color.

ECIC_DIFFUSE 

Use SMaterial::DiffuseColor.

ECIC_AMBIENT 

Use SMaterial::AmbientColor.

ECIC_EMISSIVE 

Use SMaterial::EmissiveColor.

ECIC_SPECULAR 

Use SMaterial::SpecularColor.

Definition at line 58 of file IColladaMeshWriter.h.

59  {
61  ECIC_NONE,
62 
65 
68 
71 
74 
77  };
Use SMaterial::EmissiveColor.
Use SMaterial::DiffuseColor.
Don't write this element at all.
Use SMaterial::SpecularColor.
Check IColladaMeshWriterProperties for custom color.
Use SMaterial::AmbientColor.

◆ E_COLLADA_TECHNIQUE_FX

Lighting models - more or less the way Collada categorizes materials.

Enumerator
ECTF_BLINN 

Blinn-phong which is default for opengl and dx fixed function pipelines. But several well-known renderers don't support it and prefer phong.

ECTF_PHONG 

Phong shading, default in many external renderers.

ECTF_LAMBERT 

diffuse shaded surface that is independent of lighting.

ECTF_CONSTANT 

Definition at line 23 of file IColladaMeshWriter.h.

24  {
27  ECTF_BLINN,
29  ECTF_PHONG,
32  // constantly shaded surface that is independent of lighting.
34  };
diffuse shaded surface that is independent of lighting.
Phong shading, default in many external renderers.

◆ E_COLLADA_TRANSPARENT_FX

How to interpret the opacity in collada.

Enumerator
ECOF_A_ONE 

default - only alpha channel of color or texture is used.

ECOF_RGB_ZERO 

Alpha values for each RGB channel of color or texture are used.

Definition at line 37 of file IColladaMeshWriter.h.

38  {
40  ECOF_A_ONE = 0,
41 
43  ECOF_RGB_ZERO = 1
44  };
default - only alpha channel of color or texture is used.
Alpha values for each RGB channel of color or texture are used.

◆ E_CULLING_TYPE

An enumeration for all types of automatic culling for built-in scene nodes.

Enumerator
EAC_OFF 
EAC_BOX 
EAC_FRUSTUM_BOX 
EAC_FRUSTUM_SPHERE 
EAC_OCC_QUERY 

Definition at line 16 of file ECullingTypes.h.

◆ E_DEBUG_SCENE_TYPE

An enumeration for all types of debug data for built-in scene nodes (flags)

Enumerator
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_BBOX_ALL 

EDS_BBOX | EDS_BBOX_BUFFERS.

EDS_FULL 

Show all debug infos.

Definition at line 14 of file EDebugSceneTypes.h.

15  {
17  EDS_OFF = 0,
18 
20  EDS_BBOX = 1,
21 
23  EDS_NORMALS = 2,
24 
26  EDS_SKELETON = 4,
27 
30 
33 
35  EDS_BBOX_BUFFERS = 32,
36 
39 
41  EDS_FULL = 0xffffffff
42  };
Shows Skeleton/Tags.
Show Vertex Normals.
EDS_BBOX | EDS_BBOX_BUFFERS.
Show all debug infos.
Temporary use transparency Material Type.
Overlays Mesh Wireframe.
Show Bounding Boxes of SceneNode.
Show Bounding Boxes of all MeshBuffers.
No Debug Data ( Default )

◆ E_HARDWARE_MAPPING

Enumerator
EHM_NEVER 

Don't store on the hardware.

EHM_STATIC 

Rarely changed, usually stored completely on the hardware.

EHM_DYNAMIC 

Sometimes changed, driver optimized placement.

EHM_STREAM 

Always changed, cache optimizing on the GPU.

Definition at line 13 of file EHardwareBufferFlags.h.

14  {
16  EHM_NEVER=0,
17 
19  EHM_STATIC,
20 
23 
26  };
Sometimes changed, driver optimized placement.
Rarely changed, usually stored completely on the hardware.
Don't store on the hardware.
Always changed, cache optimizing on the GPU.

◆ E_INTERPOLATION_MODE

Enumerator
EIM_CONSTANT 
EIM_LINEAR 
EIM_COUNT 

count of all available interpolation modes

Definition at line 18 of file ISkinnedMesh.h.

19  {
20  // constant does use the current key-values without interpolation
21  EIM_CONSTANT = 0,
22 
23  // linear interpolation
24  EIM_LINEAR,
25 
27  EIM_COUNT
28  };
count of all available interpolation modes
Definition: ISkinnedMesh.h:27

◆ E_JOINT_UPDATE_ON_RENDER

Enumerator
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() )

Definition at line 19 of file IAnimatedMeshSceneNode.h.

20  {
22  EJUOR_NONE = 0,
23 
25  EJUOR_READ,
26 
29  };
get joints positions from the mesh (for attached nodes, etc)
control joint positions in the mesh (eg. ragdolls, or set the animation from animateJoints() )

◆ E_MESH_WRITER_FLAGS

flags configuring mesh writing

Enumerator
EMWF_NONE 

no writer flags

EMWF_WRITE_LIGHTMAPS 

write lightmap textures out if possible Currently not used by any Irrlicht mesh-writer

EMWF_WRITE_COMPRESSED 

write in a way that consumes less disk space

EMWF_WRITE_BINARY 

write in binary format rather than text

Definition at line 42 of file EMeshWriterEnums.h.

43  {
45  EMWF_NONE = 0,
46 
49  // (Note: User meshwriters can still use it)
51 
53  // (Note: Mainly there for user meshwriters)
55 
57  EMWF_WRITE_BINARY = 0x4
58  };
write in binary format rather than text
write in a way that consumes less disk space

◆ E_PARTICLE_AFFECTOR_TYPE

Types of built in particle affectors.

Enumerator
EPAT_NONE 
EPAT_ATTRACT 
EPAT_FADE_OUT 
EPAT_GRAVITY 
EPAT_ROTATE 
EPAT_SCALE 
EPAT_COUNT 

Definition at line 17 of file IParticleAffector.h.

◆ E_PARTICLE_EMITTER_TYPE

Types of built in particle emitters.

Enumerator
EPET_POINT 
EPET_ANIMATED_MESH 
EPET_BOX 
EPET_CYLINDER 
EPET_MESH 
EPET_RING 
EPET_SPHERE 
EPET_COUNT 

Definition at line 17 of file IParticleEmitter.h.

◆ E_PRIMITIVE_TYPE

Enumeration for all primitive types there are.

Enumerator
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 two vertices create a quad with the preceding two. Not supported by Direct3D

EPT_QUADS 

Every four vertices create a quad. Not supported by Direct3D Deprecated with newer OpenGL drivers

EPT_POLYGON 

Just as LINE_LOOP, but filled. Not supported by Direct3D Deprecated with newer OpenGL drivers

EPT_POINT_SPRITES 

The single vertices are expanded to quad billboards on the GPU.

Definition at line 14 of file EPrimitiveTypes.h.

15  {
17  EPT_POINTS=0,
18 
21 
24 
26  EPT_LINES,
27 
31 
35 
38 
42 
46  EPT_QUADS,
47 
52 
55  };
All vertices are non-connected points.
Every two vertices are connected creating n/2 lines.
Explicitly set all vertices for each triangle.
The single vertices are expanded to quad billboards on the GPU.
All vertices form a single connected line.
Just as LINE_STRIP, but the last and the first vertex is also connected.

◆ E_SCENE_NODE_RENDER_PASS

Enumeration for render passes.

A parameter passed to the registerNodeForRendering() method of the ISceneManager, specifying when the node wants to be drawn in relation to the other nodes.

Enumerator
ESNRP_NONE 

No pass currently active.

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 ESNRT_TRANSPARENT or ESNRP_SOLID 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 ESNRP_SOLID, the other time as ESNRT_TRANSPARENT) and in the render() method call getSceneNodeRenderPass() 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_TRANSPARENT 

Transparent scene nodes, drawn after solid nodes. They are sorted from back to front and drawn in that order.

ESNRP_TRANSPARENT_EFFECT 

Transparent effect scene nodes, drawn after Transparent nodes. They are sorted from back to front and drawn in that order.

ESNRP_SHADOW 

Drawn after the solid nodes, before the transparent nodes, the time for drawing shadow volumes.

Definition at line 56 of file ISceneManager.h.

57  {
59  ESNRP_NONE =0,
60 
62  ESNRP_CAMERA =1,
63 
65  ESNRP_LIGHT =2,
66 
68  ESNRP_SKY_BOX =4,
69 
71 
83  ESNRP_AUTOMATIC =24,
84 
86  ESNRP_SOLID =8,
87 
90 
93 
95  ESNRP_SHADOW =64
96  };
Transparent effect scene nodes, drawn after Transparent nodes. They are sorted from back to front and...
Definition: ISceneManager.h:92
Camera pass. The active view is set up here. The very first pass.
Definition: ISceneManager.h:62
All normal objects can use this for registering themselves.
Definition: ISceneManager.h:83
No pass currently active.
Definition: ISceneManager.h:59
In this pass, lights are transformed into camera space and added to the driver.
Definition: ISceneManager.h:65
Drawn after the solid nodes, before the transparent nodes, the time for drawing shadow volumes.
Definition: ISceneManager.h:95
Solid scene nodes or special scene nodes without materials.
Definition: ISceneManager.h:86
This is used for sky boxes.
Definition: ISceneManager.h:68
Transparent scene nodes, drawn after solid nodes. They are sorted from back to front and drawn in tha...
Definition: ISceneManager.h:89

◆ E_TERRAIN_PATCH_SIZE

enumeration for patch sizes specifying the size of patches in the TerrainSceneNode

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

Definition at line 14 of file ETerrainElements.h.

15  {
17  ETPS_9 = 9,
18 
20  ETPS_17 = 17,
21 
23  ETPS_33 = 33,
24 
26  ETPS_65 = 65,
27 
29  ETPS_129 = 129
30  };
patch size of 65, at most, use 7 levels of detail with this patch size.
patch size of 17, at most, use 5 levels of detail with this patch size.
patch size of 33, at most, use 6 levels of detail with this patch size.
patch size of 9, at most, use 4 levels of detail with this patch size.
patch size of 129, at most, use 8 levels of detail with this patch size.

◆ ECUBE_MESH_TYPE

Enumerator
ECMT_1BUF_12VTX_NA 

Single buffer with 12 different vertices, normals are average of adjacent planes Order for outgoing (front-face) normals of planes would be: NEG_Z, POS_X, POS_Z, NEG_X, POS_Y, NEG_Y

ECMT_6BUF_4VTX_NP 

One buffer per side, each with 4 vertices, normals are perpendicular to sides Note: You probably will have to scale down your texture uv's to avoid white lines at borders

Definition at line 23 of file IGeometryCreator.h.

24  {
28 
31  // as this mesh sets them to 0,1 values. We can't do that when creating the mesh as it
32  // depends on texture resolution which we don't know at that point.
34  };

◆ EMD2_ANIMATION_TYPE

Types of standard md2 animations.

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

Definition at line 16 of file IAnimatedMeshMD2.h.

17  {
18  EMAT_STAND = 0,
19  EMAT_RUN,
24  EMAT_JUMP,
25  EMAT_FLIP,
28  EMAT_WAVE,
29  EMAT_POINT,
38  EMAT_BOOM,
39 
42  };
Not an animation, but amount of animation types.

◆ EMD3_ANIMATION_TYPE

Animation list.

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

Definition at line 27 of file IAnimatedMeshMD3.h.

28  {
29  // Animations for both lower and upper parts of the player
36 
37  // Animations for the upper part
45 
46  // Animations for the lower part
59 
62  };
Not an animation, but amount of animation types.

◆ eMD3Models

Enumerator
EMD3_HEAD 
EMD3_UPPER 
EMD3_LOWER 
EMD3_WEAPON 
EMD3_NUMMODELS 

Definition at line 17 of file IAnimatedMeshMD3.h.

◆ EMESH_WRITER_TYPE

An enumeration for all supported types of built-in mesh writers.

A scene mesh writers is represented by a four character code such as 'irrm' or 'coll' instead of simple numbers, to avoid name clashes with external mesh writers.

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

EMWT_OBJ 

OBJ mesh writer for .obj files.

EMWT_PLY 

PLY mesh writer for .ply files.

EMWT_B3D 

B3D mesh writer, for static .b3d files.

Definition at line 19 of file EMeshWriterEnums.h.

20  {
22  EMWT_IRR_MESH = MAKE_IRR_ID('i','r','r','m'),
23 
25  EMWT_COLLADA = MAKE_IRR_ID('c','o','l','l'),
26 
28  EMWT_STL = MAKE_IRR_ID('s','t','l',0),
29 
31  EMWT_OBJ = MAKE_IRR_ID('o','b','j',0),
32 
34  EMWT_PLY = MAKE_IRR_ID('p','l','y',0),
35 
37  EMWT_B3D = MAKE_IRR_ID('b', '3', 'd', 0)
38  };
COLLADA mesh writer for .dae and .xml files.
Irrlicht native mesh writer, for static .irrmesh files.
B3D mesh writer, for static .b3d files.
OBJ mesh writer for .obj files.
STL mesh writer for .stl files.
PLY mesh writer for .ply files.
#define MAKE_IRR_ID(c0, c1, c2, c3)
ignore VC8 warning deprecated
Definition: irrTypes.h:243

◆ EOCTREE_POLYGON_CHECKS

Kind of checks polygons of the octree scene nodes use against camera.

Enumerator
EOPC_BOX 

Check against box of the camera frustum This is the default

EOPC_FRUSTUM 

against the camera frustum

Definition at line 41 of file IOctreeSceneNode.h.

42 {
45  EOPC_BOX,
46 
49 
50 };
against the camera frustum

◆ EOCTREENODE_VBO

Settings if/how octree scene nodes are using hardware mesh-buffers.

VBO = Vertex buffer object = meshbuffers bound on the graphic-card instead of uploaded each frame. It can not be generally said which mode is optimal for drawing as this depends on the scene. So you have to try and experiment for your meshes which one works best.

Enumerator
EOV_NO_VBO 

No VBO's used. Vertices+indices send to graphic-card on each render.

EOV_USE_VBO 

VBO's used. Draw the complete meshbuffers if any polygon in it is visible. This allows VBO's for the meshbuffers to be completely static, but basically means the octree is not used as an octree (not it still does do all the octree calculations) Might work in very specific cases, but if this is gives you the best fastest results you should probably compare as well to simply using a static mesh with no octree at all. In most cases the other 2 options should work better with an octree.

EOV_USE_VBO_WITH_VISIBITLY 

VBO's used. The index-buffer information is updated each frame with only the visible parts of a tree-node. So the vertex-buffer is static and the index-buffer is dynamic. This is the default

Definition at line 20 of file IOctreeSceneNode.h.

21 {
23  EOV_NO_VBO,
24 
32 
38 };
No VBO's used. Vertices+indices send to graphic-card on each render.

◆ EParticleBehavior

A particle system scene node for creating snow, fire, explosions, smoke...

A scene node controlling a particle System. The behavior of the particles can be controlled by setting the right particle emitters and affectors. You can for example easily create 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();

Bitflags to control particle behavior

Enumerator
EPB_INVISIBLE_EMITTING 

Continue emitting new particles even when the node is invisible.

EPB_INVISIBLE_AFFECTING 

Continue affecting particles even when the node is invisible.

EPB_INVISIBLE_ANIMATING 

Continue updating particle positions or deleting them even when the node is invisible.

EPB_CLEAR_ON_INVISIBLE 

Clear all particles when node gets invisible.

EPB_EMITTER_VECTOR_IGNORE_ROTATION 

Particle movement direction on emitting ignores the node rotation This is mainly to allow backward compatible behavior to Irrlicht 1.8

EPB_EMITTER_FRAME_INTERPOLATION 

On emitting global particles interpolate the positions randomly between the last and current node transformations. This can be set to avoid gaps caused by fast node movement or low framerates, but will be somewhat slower to calculate.

Definition at line 47 of file IParticleSystemSceneNode.h.

48 {
51 
54 
57 
60 
64 
69 };
Continue updating particle positions or deleting them even when the node is invisible.
Clear all particles when node gets invisible.
Continue emitting new particles even when the node is invisible.
Continue affecting particles even when the node is invisible.

◆ ESCENE_NODE_ANIMATOR_TYPE

An enumeration for all types of built-in scene node animators.

Enumerator
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 response scene node animator.

ESNAT_CAMERA_FPS 

FPS camera animator.

ESNAT_CAMERA_MAYA 

Maya camera 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 this enumeration to 32 bit.

Definition at line 14 of file ESceneNodeAnimatorTypes.h.

15  {
17  ESNAT_FLY_CIRCLE = 0,
18 
21 
24 
27 
30 
33 
36 
39 
42 
45 
48 
50  ESNAT_FORCE_32_BIT = 0x7fffffff
51  };
Amount of built-in scene node animators.
Unknown scene node animator.
Rotation scene node animator.
Collision response scene node animator.
This enum is never used, it only forces the compiler to compile this enumeration to 32 bit.
Fly circle scene node animator.
Texture scene node animator.
Fly straight scene node animator.
Follow spline scene node animator.
Deletion scene node animator.

◆ ESCENE_NODE_TYPE

An enumeration for all types of built-in scene nodes.

A scene node type is represented by a four character code such as 'cube' or 'mesh' instead of simple numbers, to avoid name clashes with external scene nodes.

Enumerator
ESNT_SCENE_MANAGER 

of type CSceneManager (note that ISceneManager is not(!) an ISceneNode)

ESNT_CUBE 

simple cube scene node

ESNT_SPHERE 

Sphere scene node.

ESNT_TEXT 

Text Scene Node.

ESNT_BILLBOARD_TEXT 

Billboard text scene node.

ESNT_WATER_SURFACE 

Water Surface Scene Node.

ESNT_TERRAIN 

Terrain Scene Node.

ESNT_SKY_BOX 

Sky Box Scene Node.

ESNT_SKY_DOME 

Sky Dome Scene Node.

ESNT_SHADOW_VOLUME 

Shadow Volume Scene Node.

ESNT_OCTREE 

Octree 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_BILLBOARD 

Billboard Scene Node.

ESNT_ANIMATED_MESH 

Animated Mesh Scene Node.

ESNT_PARTICLE_SYSTEM 

Particle System Scene Node.

ESNT_Q3SHADER_SCENE_NODE 

Quake3 Shader Scene Node.

ESNT_MD3_SCENE_NODE 

Quake3 Model Scene Node ( has tag to link to )

ESNT_VOLUME_LIGHT 

Volume Light Scene Node.

ESNT_CAMERA_MAYA 

Maya Camera Scene Node.

Legacy, for loading version <= 1.4.x .irr files

ESNT_CAMERA_FPS 

First Person Shooter Camera.

Legacy, for loading version <= 1.4.x .irr files

ESNT_UNKNOWN 

Unknown scene node.

ESNT_ANY 

Will match with any scene node when checking types.

Definition at line 19 of file ESceneNodeTypes.h.

20  {
22  ESNT_SCENE_MANAGER = MAKE_IRR_ID('s','m','n','g'),
23 
25  ESNT_CUBE = MAKE_IRR_ID('c','u','b','e'),
26 
28  ESNT_SPHERE = MAKE_IRR_ID('s','p','h','r'),
29 
31  ESNT_TEXT = MAKE_IRR_ID('t','e','x','t'),
32 
34  ESNT_BILLBOARD_TEXT = MAKE_IRR_ID('b','t','x','t'),
35 
37  ESNT_WATER_SURFACE = MAKE_IRR_ID('w','a','t','r'),
38 
40  ESNT_TERRAIN = MAKE_IRR_ID('t','e','r','r'),
41 
43  ESNT_SKY_BOX = MAKE_IRR_ID('s','k','y','_'),
44 
46  ESNT_SKY_DOME = MAKE_IRR_ID('s','k','y','d'),
47 
49  ESNT_SHADOW_VOLUME = MAKE_IRR_ID('s','h','d','w'),
50 
52  ESNT_OCTREE = MAKE_IRR_ID('o','c','t','r'),
53 
55  ESNT_MESH = MAKE_IRR_ID('m','e','s','h'),
56 
58  ESNT_LIGHT = MAKE_IRR_ID('l','g','h','t'),
59 
61  ESNT_EMPTY = MAKE_IRR_ID('e','m','t','y'),
62 
64  ESNT_DUMMY_TRANSFORMATION = MAKE_IRR_ID('d','m','m','y'),
65 
67  ESNT_CAMERA = MAKE_IRR_ID('c','a','m','_'),
68 
70  ESNT_BILLBOARD = MAKE_IRR_ID('b','i','l','l'),
71 
73  ESNT_ANIMATED_MESH = MAKE_IRR_ID('a','m','s','h'),
74 
76  ESNT_PARTICLE_SYSTEM = MAKE_IRR_ID('p','t','c','l'),
77 
79  ESNT_Q3SHADER_SCENE_NODE = MAKE_IRR_ID('q','3','s','h'),
80 
82  ESNT_MD3_SCENE_NODE = MAKE_IRR_ID('m','d','3','_'),
83 
85  ESNT_VOLUME_LIGHT = MAKE_IRR_ID('v','o','l','l'),
86 
88 
89  ESNT_CAMERA_MAYA = MAKE_IRR_ID('c','a','m','M'),
90 
92 
93  ESNT_CAMERA_FPS = MAKE_IRR_ID('c','a','m','F'),
94 
96  ESNT_UNKNOWN = MAKE_IRR_ID('u','n','k','n'),
97 
99  ESNT_ANY = MAKE_IRR_ID('a','n','y','_')
100  };
of type CSceneManager (note that ISceneManager is not(!) an ISceneNode)
Octree Scene Node.
Terrain Scene Node.
Sphere scene node.
Billboard Scene Node.
Dummy Transformation Scene Node.
Particle System Scene Node.
Sky Box Scene Node.
Camera Scene Node.
Volume Light Scene Node.
Sky Dome Scene Node.
Quake3 Model Scene Node ( has tag to link to )
Maya Camera Scene Node.
First Person Shooter Camera.
Mesh Scene Node.
Text Scene Node.
Unknown scene node.
Billboard text scene node.
Water Surface Scene Node.
Shadow Volume Scene Node.
Light Scene Node.
#define MAKE_IRR_ID(c0, c1, c2, c3)
ignore VC8 warning deprecated
Definition: irrTypes.h:243
simple cube scene node
Animated Mesh Scene Node.
Empty Scene Node.
Will match with any scene node when checking types.

◆ ESHADOWVOLUME_OPTIMIZATION

Enumerator
ESV_NONE 

Create volumes around every triangle.

ESV_SILHOUETTE_BY_POS 

Create volumes only around the silhouette of the mesh.

This can reduce the number of volumes drastically, but will have an upfront-cost where it calculates adjacency of triangles. Also it will not work with all models. Basically if you see strange black shadow lines then you have a model for which it won't work. We get that information about adjacency by comparing the positions of all edges in the mesh (even if they are in different meshbuffers).

Definition at line 16 of file IShadowVolumeSceneNode.h.

17  {
19  ESV_NONE,
20 
22 
30  };
Create volumes around every triangle.
Create volumes only around the silhouette of the mesh.

Variable Documentation

◆ ALLOW_ZWRITE_ON_TRANSPARENT

const c8* const irr::scene::ALLOW_ZWRITE_ON_TRANSPARENT = "Allow_ZWrite_On_Transparent"

Name of the parameter for changing how Irrlicht handles the ZWrite flag for transparent (blending) materials.

The default behavior in Irrlicht is to disable writing to the z-buffer for all really transparent, i.e. blending materials. This avoids problems with intersecting faces, but can also break renderings. If transparent materials should use the SMaterial flag for ZWriteEnable just as other material types use this attribute. Use it like this:

SceneManager->getParameters()->setAttribute(scene::ALLOW_ZWRITE_ON_TRANSPARENT, true);

Definition at line 30 of file SceneParameters.h.

◆ AutomaticCullingNames

const c8* const irr::scene::AutomaticCullingNames[]
Initial value:
=
{
"false",
"box",
"frustum_box",
"frustum_sphere",
"occ_query",
0
}

Names for culling type.

Definition at line 26 of file ECullingTypes.h.

◆ B3D_LOADER_IGNORE_MIPMAP_FLAG

const c8* const irr::scene::B3D_LOADER_IGNORE_MIPMAP_FLAG = "B3D_IgnoreMipmapFlag"

Flag to ignore the b3d file's mipmapping flag.

Instead Irrlicht's texture creation flag is used. Use it like this:

SceneManager->getParameters()->setAttribute(scene::B3D_LOADER_IGNORE_MIPMAP_FLAG, true);

Definition at line 146 of file SceneParameters.h.

◆ B3D_TEXTURE_PATH

const c8* const irr::scene::B3D_TEXTURE_PATH = "B3D_TexturePath"

Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.

Was used for changing the texture path of the built-in b3d loader like this:

SceneManager->getParameters()->setAttribute(scene::B3D_TEXTURE_PATH, "path/to/your/textures");

Definition at line 154 of file SceneParameters.h.

◆ BoneAnimationModeNames

const c8* const irr::scene::BoneAnimationModeNames[]
Initial value:
=
{
"automatic",
"animated",
"unanimated",
0,
}

Names for bone animation modes.

Definition at line 44 of file IBoneSceneNode.h.

◆ COLLADA_CREATE_SCENE_INSTANCES

const c8* const irr::scene::COLLADA_CREATE_SCENE_INSTANCES = "COLLADA_CreateSceneInstances"

Name of the parameter specifying the COLLADA mesh loading mode.

Specifies if the COLLADA loader should create instances of the models, lights and cameras when loading COLLADA meshes. By default, this is set to false. If this is set to true, the ISceneManager::getMesh() method will only return a pointer to a dummy mesh and create instances of all meshes and lights and cameras in the collada file by itself. Example:

SceneManager->getParameters()->setAttribute(scene::COLLADA_CREATE_SCENE_INSTANCES, true);

Definition at line 67 of file SceneParameters.h.

◆ CSM_TEXTURE_PATH

const c8* const irr::scene::CSM_TEXTURE_PATH = "CSM_TexturePath"

Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.

Was used for changing the texture path of the built-in csm loader like this:

SceneManager->getParameters()->setAttribute(scene::CSM_TEXTURE_PATH, "path/to/your/textures");

Definition at line 38 of file SceneParameters.h.

◆ DEBUG_NORMAL_COLOR

const c8* const irr::scene::DEBUG_NORMAL_COLOR = "DEBUG_Normal_Color"

Name of the parameter for setting the color of debug normals.

Use it like this:

SceneManager->getParameters()->setAttributeAsColor(scene::DEBUG_NORMAL_COLOR, video::SColor(255, 255, 255, 255));

Definition at line 175 of file SceneParameters.h.

◆ DEBUG_NORMAL_LENGTH

const c8* const irr::scene::DEBUG_NORMAL_LENGTH = "DEBUG_Normal_Length"

Name of the parameter for setting the length of debug normals.

Use it like this:

SceneManager->getParameters()->setAttribute(scene::DEBUG_NORMAL_LENGTH, 1.5f);

Definition at line 167 of file SceneParameters.h.

◆ DMF_ALPHA_CHANNEL_REF

const c8* const irr::scene::DMF_ALPHA_CHANNEL_REF = "DMF_AlphaRef"

Name of the parameter for setting reference value of alpha in transparent materials.

Use it like this:

//this way you'll set alpha ref to 0.1
SceneManager->getParameters()->setAttribute(scene::DMF_ALPHA_CHANNEL_REF, 0.1);

Definition at line 102 of file SceneParameters.h.

◆ DMF_FLIP_ALPHA_TEXTURES

const c8* const irr::scene::DMF_FLIP_ALPHA_TEXTURES = "DMF_FlipAlpha"

Name of the parameter for choose to flip or not tga files.

Use it like this:

//this way you'll choose to flip alpha textures
SceneManager->getParameters()->setAttribute(scene::DMF_FLIP_ALPHA_TEXTURES, true);

Definition at line 111 of file SceneParameters.h.

◆ DMF_IGNORE_MATERIALS_DIRS

const c8* const irr::scene::DMF_IGNORE_MATERIALS_DIRS = "DMF_IgnoreMaterialsDir"

Name of the parameter for preserving DMF textures dir structure with built-in DMF loader.

If this parameter is set to true, the texture directory defined in the Deled file is ignored, and only the texture name is used to find the proper file. Otherwise, the texture path is also used, which allows to use a nicer media layout. Use it like this:

//this way you won't use this setting (default)
SceneManager->getParameters()->setAttribute(scene::DMF_IGNORE_MATERIALS_DIRS, false);
//this way you'll use this setting
SceneManager->getParameters()->setAttribute(scene::DMF_IGNORE_MATERIALS_DIRS, true);

Definition at line 93 of file SceneParameters.h.

◆ DMF_TEXTURE_PATH

const c8* const irr::scene::DMF_TEXTURE_PATH = "DMF_TexturePath"

Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.

This path is prefixed to the file names defined in the Deled file when loading textures. This allows to alter the paths for a specific project setting. Use it like this:

SceneManager->getStringParameters()->setAttribute(scene::DMF_TEXTURE_PATH, "path/to/your/textures");

Definition at line 77 of file SceneParameters.h.

◆ ESNT_ARSA_DPAD

const int irr::scene::ESNT_ARSA_DPAD = MAKE_IRR_ID('a', 'd', 'p', 'a')

Definition at line 12 of file CARSADPad.h.

◆ ESNT_ARSA_JSON

const int irr::scene::ESNT_ARSA_JSON = MAKE_IRR_ID('a', 'j', 's', 'o')

Definition at line 14 of file CARSAJson.h.

◆ ESNT_ARSA_PSD

const int irr::scene::ESNT_ARSA_PSD = MAKE_IRR_ID('a','p','s','d')

Definition at line 18 of file CARSAPsd.h.

◆ ESNT_AV

const int irr::scene::ESNT_AV = MAKE_IRR_ID('f','f','a','v')

Definition at line 19 of file CAVSceneNode.h.

◆ IRR_SCENE_MANAGER_IS_EDITOR

const c8* const irr::scene::IRR_SCENE_MANAGER_IS_EDITOR = "IRR_Editor"

Flag set as parameter when the scene manager is used as editor.

In this way special animators like deletion animators can be stopped from deleting scene nodes for example

Definition at line 159 of file SceneParameters.h.

◆ LMTS_TEXTURE_PATH

const c8* const irr::scene::LMTS_TEXTURE_PATH = "LMTS_TexturePath"

Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.

Was used for changing the texture path of the built-in lmts loader like this:

SceneManager->getParameters()->setAttribute(scene::LMTS_TEXTURE_PATH, "path/to/your/textures");

Definition at line 46 of file SceneParameters.h.

◆ MY3D_TEXTURE_PATH

const c8* const irr::scene::MY3D_TEXTURE_PATH = "MY3D_TexturePath"

Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.

Was used for changing the texture path of the built-in MY3D loader like this:

SceneManager->getParameters()->setAttribute(scene::MY3D_TEXTURE_PATH, "path/to/your/textures");

Definition at line 54 of file SceneParameters.h.

◆ OBJ_LOADER_IGNORE_GROUPS

const c8* const irr::scene::OBJ_LOADER_IGNORE_GROUPS = "OBJ_IgnoreGroups"

Flag to avoid loading group structures in .obj files.

Use it like this:

SceneManager->getParameters()->setAttribute(scene::OBJ_LOADER_IGNORE_GROUPS, true);

Definition at line 128 of file SceneParameters.h.

◆ OBJ_LOADER_IGNORE_MATERIAL_FILES

const c8* const irr::scene::OBJ_LOADER_IGNORE_MATERIAL_FILES = "OBJ_IgnoreMaterialFiles"

Flag to avoid loading material .mtl file for .obj files.

Use it like this:

SceneManager->getParameters()->setAttribute(scene::OBJ_LOADER_IGNORE_MATERIAL_FILES, true);

Definition at line 137 of file SceneParameters.h.

◆ OBJ_TEXTURE_PATH

const c8* const irr::scene::OBJ_TEXTURE_PATH = "OBJ_TexturePath"

Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.

Was used for changing the texture path of the built-in obj loader like this:

SceneManager->getParameters()->setAttribute(scene::OBJ_TEXTURE_PATH, "path/to/your/textures");

Definition at line 120 of file SceneParameters.h.

◆ PACK_STRUCT

struct irr::scene::SMD3Face irr::scene::PACK_STRUCT

◆ ParticleAffectorTypeNames

const c8* const irr::scene::ParticleAffectorTypeNames[]
Initial value:
=
{
"None",
"Attract",
"FadeOut",
"Gravity",
"Rotate",
"Scale",
0
}

Names for built in particle affectors.

Definition at line 29 of file IParticleAffector.h.

◆ ParticleEmitterTypeNames

const c8* const irr::scene::ParticleEmitterTypeNames[]
Initial value:
=
{
"Point",
"AnimatedMesh",
"Box",
"Cylinder",
"Mesh",
"Ring",
"Sphere",
0
}

Names for built in particle emitters.

Definition at line 30 of file IParticleEmitter.h.