Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
|
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees and billboards, ... More...
Classes | |
class | CDynamicMeshBuffer |
Implementation of the IMeshBuffer interface for which can work with 16 and 32 bit indices as well as different vertex types. More... | |
class | CIndexBuffer |
class | CMeshBuffer |
Template implementation of the IMeshBuffer interface for 16-bit buffers. 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 |
Class 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 |
class | IVertexManipulator |
Interface for vertex manipulators. More... | |
class | IVolumeLightSceneNode |
class | SAnimatedMesh |
Simple implementation of the IAnimatedMesh interface. More... | |
class | SCollisionHit |
class | SCollisionTriangleRange |
Additional information about the triangle arrays returned by ITriangleSelector::getTriangles. More... | |
class | SMD3AnimationInfo |
class | SMD3Face |
Triangle Index. More... | |
class | SMD3Header |
this holds the header info of the MD3 file More... | |
class | SMD3Mesh |
Holding Frames Buffers and Tag Infos. More... | |
class | SMD3MeshBuffer |
Holding Frame Data for a Mesh. More... | |
class | SMD3MeshHeader |
this holds the header info of an MD3 mesh section More... | |
class | SMD3QuaternionTag |
hold a tag info for connecting meshes More... | |
class | SMD3QuaternionTagList |
holds a associative list of named quaternions More... | |
class | SMD3TexCoord |
Texture Coordinate. More... | |
class | SMD3Vertex |
Compressed Vertex Data. More... | |
class | SMesh |
Simple implementation of the IMesh interface. More... | |
class | SParticle |
Class for holding particle data. More... | |
class | SSharedMeshBuffer |
Implementation of the IMeshBuffer interface with shared vertex list. More... | |
class | 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 | SVertexNormalizeNormalManipulator |
Vertex manipulator which normalizes the normal of the vertex. More... | |
class | SVertexNormalRotateScaleManipulator |
Vertex manipulator which transforms the normal of the vertex with the rotate/scale part of the given matrix (inner 3x3) 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... | |
class | SViewFrustum |
Defines the view frustum. That's the space visible by the camera. More... | |
Typedefs | |
using | ISceneNodeList = core::list< ISceneNode * > |
using type alias for list of scene nodes | |
using | ISceneNodeAnimatorList = core::list< ISceneNodeAnimator * > |
using type alias for list of scene node animators | |
using | IParticlePointEmitter = IParticleEmitter |
using | SMeshBuffer = CMeshBuffer< video::S3DVertex > |
Standard meshbuffer. | |
using | SMeshBufferLightMap = CMeshBuffer< video::S3DVertex2TCoords > |
Meshbuffer with two texture coords per vertex, e.g. for lightmaps. | |
using | SMeshBufferTangents = CMeshBuffer< video::S3DVertexTangents > |
Meshbuffer with vertices having tangents stored, e.g. for normal mapping. | |
Enumerations | |
enum | E_INTERPOLATION_MODE { EIM_CONSTANT = 0 , EIM_LINEAR , EIM_COUNT } |
enum | ESHADOWVOLUME_OPTIMIZATION { ESV_NONE , ESV_SILHOUETTE_BY_POS } |
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_GUI = 128 } |
Enumeration for render passes. 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_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_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. | |
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_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 | ECUBE_MESH_TYPE { ECMT_1BUF_12VTX_NA , ECMT_6BUF_4VTX_NP , ECMT_1BUF_24VTX_NP , ECMT_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. | |
enum | E_COLLADA_NIRT_COLOR { ECIC_NONE , ECIC_CUSTOM , ECIC_DIFFUSE , ECIC_AMBIENT , ECIC_EMISSIVE , ECIC_SPECULAR } |
Nirtcpp 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 | 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_JOINT_UPDATE_ON_RENDER { EJUOR_NONE = 0 , EJUOR_READ , EJUOR_CONTROL } |
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 | 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 | 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 | ESCENE_NODE_UPDATE_ABS { ESNUA_TRANSFORM_MATRIX , ESNUA_TRANSFORM_POSITION } |
Options how ISceneNode::updateAbsolutePosition calculates the AbsoluteTransformation. More... | |
enum | ESCENE_NODE_TYPE { ESNT_SCENE_MANAGER = MAKE_NIRT_ID('s','m','n','g') , ESNT_CUBE = MAKE_NIRT_ID('c','u','b','e') , ESNT_SPHERE = MAKE_NIRT_ID('s','p','h','r') , ESNT_TEXT = MAKE_NIRT_ID('t','e','x','t') , ESNT_BILLBOARD_TEXT = MAKE_NIRT_ID('b','t','x','t') , ESNT_WATER_SURFACE = MAKE_NIRT_ID('w','a','t','r') , ESNT_TERRAIN = MAKE_NIRT_ID('t','e','r','r') , ESNT_SKY_BOX = MAKE_NIRT_ID('s','k','y','_') , ESNT_SKY_DOME = MAKE_NIRT_ID('s','k','y','d') , ESNT_SHADOW_VOLUME = MAKE_NIRT_ID('s','h','d','w') , ESNT_OCTREE = MAKE_NIRT_ID('o','c','t','r') , ESNT_MESH = MAKE_NIRT_ID('m','e','s','h') , ESNT_LIGHT = MAKE_NIRT_ID('l','g','h','t') , ESNT_EMPTY = MAKE_NIRT_ID('e','m','t','y') , ESNT_DUMMY_TRANSFORMATION = MAKE_NIRT_ID('d','m','m','y') , ESNT_CAMERA = MAKE_NIRT_ID('c','a','m','_') , ESNT_BILLBOARD = MAKE_NIRT_ID('b','i','l','l') , ESNT_ANIMATED_MESH = MAKE_NIRT_ID('a','m','s','h') , ESNT_PARTICLE_SYSTEM = MAKE_NIRT_ID('p','t','c','l') , ESNT_Q3SHADER_SCENE_NODE = MAKE_NIRT_ID('q','3','s','h') , ESNT_MD3_SCENE_NODE = MAKE_NIRT_ID('m','d','3','_') , ESNT_VOLUME_LIGHT = MAKE_NIRT_ID('v','o','l','l') , ESNT_CAMERA_MAYA = MAKE_NIRT_ID('c','a','m','M') , ESNT_CAMERA_FPS = MAKE_NIRT_ID('c','a','m','F') , ESNT_UNKNOWN = MAKE_NIRT_ID('u','n','k','n') , ESNT_ANY = MAKE_NIRT_ID('a','n','y','_') } |
An enumeration for all types of built-in scene nodes. 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 | 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 | EMESH_WRITER_TYPE { EMWT_IRR_MESH = MAKE_NIRT_ID('i','r','r','m') , EMWT_COLLADA = MAKE_NIRT_ID('c','o','l','l') , EMWT_STL = MAKE_NIRT_ID('s','t','l',0) , EMWT_OBJ = MAKE_NIRT_ID('o','b','j',0) , EMWT_PLY = MAKE_NIRT_ID('p','l','y',0) , EMWT_B3D = MAKE_NIRT_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 | EMESH_BUFFER_TYPE { EMBT_STANDARD = MAKE_NIRT_ID('s','t','a','n') , EMBT_LIGHTMAP = MAKE_NIRT_ID('l','i','g','h') , EMBT_TANGENTS = MAKE_NIRT_ID('t','a','n','g') , EMBT_DYNAMIC = MAKE_NIRT_ID('d','y','n','a') , EMBT_SHARED = MAKE_NIRT_ID('s','h','a','r') , EMBT_SKIN = MAKE_NIRT_ID('s','k','i','n') , EMBT_UNKNOWN = MAKE_NIRT_ID('u','n','k','n') } |
An enumeration for all types of built-in mesh buffers. 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_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_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. | |
Variables | |
const c8 *const | ALLOW_ZWRITE_ON_TRANSPARENT = "Allow_ZWrite_On_Transparent" |
Name of the parameter for changing how Nirtcpp 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 class 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 classes 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 | NIRT_SCENE_MANAGER_IS_EDITOR = "NIRT_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. | |
const c8 *const | ParticleEmitterTypeNames [] |
Names for built in particle emitters. | |
const c8 *const | ParticleAffectorTypeNames [] |
Names for built in particle affectors. | |
const c8 *const | CubeMeshTypeNames [ECMT_COUNT+1] |
Names for ECUBE_MESH_TYPE. | |
const c8 *const | BoneAnimationModeNames [] |
Names for bone animation modes. | |
class nirt::scene::SMD3Header | PACK_CLASS |
const c8 *const | SceneNodeUpdateAbsNames [] |
Names for culling type. | |
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, ...
Possible types of meshes.
Enumeration for different bone animation modes.
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. |
Nirtcpp 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. |
Lighting models - more or less the way Collada categorizes materials.
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. Note: Despite the numbering this is not used as bit-field.
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. |
ESNRP_GUI | Drawn after transparent effect nodes. For custom gui's. Unsorted (in order nodes registered themselves). |
enumeration for patch sizes specifying the size of patches in the TerrainSceneNode
An enumeration for all types of built-in mesh buffers.
Types are represented by a four character code instead of simple numbers (easier to add external classes).
Enumerator | |
---|---|
EMBT_STANDARD | SMeshBuffer (16 bit buffers) |
EMBT_LIGHTMAP | SMeshBufferLightMap (16 bit buffers) |
EMBT_TANGENTS | SMeshBufferTangents (16 bit buffers) |
EMBT_DYNAMIC | CDynamicMeshBuffer (16 or 32 bit buffers) |
EMBT_UNKNOWN | Unknown class 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.
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.
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:
Bitflags to control particle behavior
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_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. |
Options how ISceneNode::updateAbsolutePosition calculates the AbsoluteTransformation.
const c8* const nirt::scene::ALLOW_ZWRITE_ON_TRANSPARENT = "Allow_ZWrite_On_Transparent" |
Name of the parameter for changing how Nirtcpp handles the ZWrite flag for transparent (blending) materials.
The default behavior in Nirtcpp 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 nirt::scene::AutomaticCullingNames[] |
Names for culling type.
const c8* const nirt::scene::B3D_LOADER_IGNORE_MIPMAP_FLAG = "B3D_IgnoreMipmapFlag" |
Flag to ignore the b3d file's mipmapping flag.
Instead Nirtcpp's texture creation flag is used. Use it like this:
const c8* const nirt::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 nirt::scene::BoneAnimationModeNames[] |
Names for bone animation modes.
const c8* const nirt::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 nirt::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 nirt::scene::CubeMeshTypeNames[ECMT_COUNT+1] |
Names for ECUBE_MESH_TYPE.
const c8* const nirt::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 nirt::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 nirt::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 nirt::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 nirt::scene::DMF_IGNORE_MATERIALS_DIRS = "DMF_IgnoreMaterialsDir" |
Name of the parameter for preserving DMF textures dir class 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 nirt::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 nirt::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 nirt::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 nirt::scene::NIRT_SCENE_MANAGER_IS_EDITOR = "NIRT_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 nirt::scene::OBJ_LOADER_IGNORE_GROUPS = "OBJ_IgnoreGroups" |
Flag to avoid loading group classes in .obj files.
Use it like this:
const c8* const nirt::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 nirt::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:
const c8* const nirt::scene::ParticleAffectorTypeNames[] |
Names for built in particle affectors.
const c8* const nirt::scene::ParticleEmitterTypeNames[] |
Names for built in particle emitters.
const c8* const nirt::scene::SceneNodeUpdateAbsNames[] |
Names for culling type.