![]() |
Skylicht Engine
|
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees and billboards, ... More...
Classes | |
| class | CIndexBuffer |
| class | CMeshBuffer |
| Implementation of the IMeshBuffer interface. More... | |
| class | CVertexBuffer |
| class | ICameraSceneNode |
| Scene Node which is a (controlable) camera. More... | |
| class | ICollisionCallback |
| Callback interface for catching events of collisions. More... | |
| class | IGeometryCreator |
| Helper class for creating geometry on the fly. More... | |
| class | IIndexBuffer |
| 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 | IMeshManipulator |
| An interface for easy manipulation of meshes. More... | |
| class | IMeshSceneNode |
| A scene node displaying a static mesh. More... | |
| class | IMetaTriangleSelector |
| Interface for making multiple triangle selectors work as one big selector. More... | |
| class | ISceneCollisionManager |
| The Scene Collision Manager provides methods for performing collision tests and picking on scene nodes. More... | |
| class | ISceneManager |
| The Scene Manager manages scene nodes, mesh recources, 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 | ITriangleSelector |
| Interface to return triangles with specific properties. More... | |
| class | IVertexBuffer |
| struct | SMesh |
| Simple implementation of the IMesh interface. More... | |
| struct | SParticle |
| Struct for holding particle data. More... | |
| struct | SViewFrustum |
| Defines the view frustum. That's the space visible by the camera. More... | |
Typedefs | |
| typedef CVertexBuffer< video::S3DVertex > | SVertexBuffer |
| typedef CVertexBuffer< video::S3DVertex2TCoords > | SVertexBufferLightMap |
| typedef CVertexBuffer< video::S3DVertexTangents > | SVertexBufferTangents |
| typedef core::list< ISceneNode * > | ISceneNodeList |
| Typedef for list of scene nodes. | |
| typedef core::list< ISceneNodeAnimator * > | ISceneNodeAnimatorList |
| Typedef for list of scene node animators. | |
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. | |
| 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 | E_PRIMITIVE_TYPE { EPT_POINTS =0 , EPT_LINE_STRIP , EPT_LINE_LOOP , EPT_LINES , EPT_TRIANGLE_STRIP , EPT_TRIANGLE_FAN , EPT_TRIANGLES , 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_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_CAMERA = MAKE_IRR_ID('c','a','m','_') , ESNT_ANIMATED_MESH = MAKE_IRR_ID('a','m','s','h') , 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_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 , ESNRP_CUBE_REFLECT = 128 } |
| Enumeration for render passes. More... | |
Variables | |
| const c8 *const | AutomaticCullingNames [] |
| Names for culling type. | |
| 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. | |
| const c8 *const | CSM_TEXTURE_PATH = "CSM_TexturePath" |
| Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. | |
| const c8 *const | LMTS_TEXTURE_PATH = "LMTS_TexturePath" |
| Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. | |
| const c8 *const | MY3D_TEXTURE_PATH = "MY3D_TexturePath" |
| Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. | |
| const c8 *const | COLLADA_CREATE_SCENE_INSTANCES = "COLLADA_CreateSceneInstances" |
| Name of the parameter specifying the COLLADA mesh loading mode. | |
| const c8 *const | DMF_TEXTURE_PATH = "DMF_TexturePath" |
| Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. | |
| const c8 *const | DMF_IGNORE_MATERIALS_DIRS = "DMF_IgnoreMaterialsDir" |
| Name of the parameter for preserving DMF textures dir structure with built-in DMF loader. | |
| const c8 *const | DMF_ALPHA_CHANNEL_REF = "DMF_AlphaRef" |
| Name of the parameter for setting reference value of alpha in transparent materials. | |
| const c8 *const | DMF_FLIP_ALPHA_TEXTURES = "DMF_FlipAlpha" |
| Name of the parameter for choose to flip or not tga files. | |
| const c8 *const | OBJ_TEXTURE_PATH = "OBJ_TexturePath" |
| Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. | |
| const c8 *const | OBJ_LOADER_IGNORE_GROUPS = "OBJ_IgnoreGroups" |
| Flag to avoid loading group structures in .obj files. | |
| const c8 *const | OBJ_LOADER_IGNORE_MATERIAL_FILES = "OBJ_IgnoreMaterialFiles" |
| Flag to avoid loading material .mtl file for .obj files. | |
| const c8 *const | B3D_LOADER_IGNORE_MIPMAP_FLAG = "B3D_IgnoreMipmapFlag" |
| Flag to ignore the b3d file's mipmapping flag. | |
| const c8 *const | B3D_TEXTURE_PATH = "B3D_TexturePath" |
| Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead. | |
| const c8 *const | IRR_SCENE_MANAGER_IS_EDITOR = "IRR_Editor" |
| Flag set as parameter when the scene manager is used as editor. | |
| const c8 *const | DEBUG_NORMAL_LENGTH = "DEBUG_Normal_Length" |
| Name of the parameter for setting the length of debug normals. | |
| const c8 *const | DEBUG_NORMAL_COLOR = "DEBUG_Normal_Color" |
| Name of the parameter for setting the color of debug normals. | |
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees and billboards, ...
An enumeration for all types of debug data for built-in scene nodes (flags).
Enumeration for all primitive types there are.
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 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 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. |
| ESNRP_CUBE_REFLECT | Skylicht engine cube reflect. |
An enumeration for all types of built-in scene node animators.
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_MESH | Mesh Scene Node. |
| ESNT_LIGHT | Light Scene Node. |
| ESNT_EMPTY | Empty Scene Node. |
| ESNT_CAMERA | Camera Scene Node. |
| ESNT_ANIMATED_MESH | Animated Mesh 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. |
| 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:
| const c8* const irr::scene::AutomaticCullingNames[] |
Names for culling type.
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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:
| 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
| 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:
| 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:
| const c8* const irr::scene::OBJ_LOADER_IGNORE_GROUPS = "OBJ_IgnoreGroups" |
Flag to avoid loading group structures in .obj files.
Use it like this:
| 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:
| 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: