Jimcpp 2.1.0
Jimcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
jpp::scene Namespace Reference

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_JPP_COLOR {
  ECIC_NONE , ECIC_CUSTOM , ECIC_DIFFUSE , ECIC_AMBIENT ,
  ECIC_EMISSIVE , ECIC_SPECULAR
}
 Jimcpp 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_JPP_ID('s','m','n','g') , ESNT_CUBE = MAKE_JPP_ID('c','u','b','e') , ESNT_SPHERE = MAKE_JPP_ID('s','p','h','r') , ESNT_TEXT = MAKE_JPP_ID('t','e','x','t') ,
  ESNT_BILLBOARD_TEXT = MAKE_JPP_ID('b','t','x','t') , ESNT_WATER_SURFACE = MAKE_JPP_ID('w','a','t','r') , ESNT_TERRAIN = MAKE_JPP_ID('t','e','r','r') , ESNT_SKY_BOX = MAKE_JPP_ID('s','k','y','_') ,
  ESNT_SKY_DOME = MAKE_JPP_ID('s','k','y','d') , ESNT_SHADOW_VOLUME = MAKE_JPP_ID('s','h','d','w') , ESNT_OCTREE = MAKE_JPP_ID('o','c','t','r') , ESNT_MESH = MAKE_JPP_ID('m','e','s','h') ,
  ESNT_LIGHT = MAKE_JPP_ID('l','g','h','t') , ESNT_EMPTY = MAKE_JPP_ID('e','m','t','y') , ESNT_DUMMY_TRANSFORMATION = MAKE_JPP_ID('d','m','m','y') , ESNT_CAMERA = MAKE_JPP_ID('c','a','m','_') ,
  ESNT_BILLBOARD = MAKE_JPP_ID('b','i','l','l') , ESNT_ANIMATED_MESH = MAKE_JPP_ID('a','m','s','h') , ESNT_PARTICLE_SYSTEM = MAKE_JPP_ID('p','t','c','l') , ESNT_Q3SHADER_SCENE_NODE = MAKE_JPP_ID('q','3','s','h') ,
  ESNT_MD3_SCENE_NODE = MAKE_JPP_ID('m','d','3','_') , ESNT_VOLUME_LIGHT = MAKE_JPP_ID('v','o','l','l') , ESNT_CAMERA_MAYA = MAKE_JPP_ID('c','a','m','M') , ESNT_CAMERA_FPS = MAKE_JPP_ID('c','a','m','F') ,
  ESNT_UNKNOWN = MAKE_JPP_ID('u','n','k','n') , ESNT_ANY = MAKE_JPP_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_JPP_ID('i','r','r','m') , EMWT_COLLADA = MAKE_JPP_ID('c','o','l','l') , EMWT_STL = MAKE_JPP_ID('s','t','l',0) , EMWT_OBJ = MAKE_JPP_ID('o','b','j',0) ,
  EMWT_PLY = MAKE_JPP_ID('p','l','y',0) , EMWT_B3D = MAKE_JPP_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_JPP_ID('s','t','a','n') , EMBT_LIGHTMAP = MAKE_JPP_ID('l','i','g','h') , EMBT_TANGENTS = MAKE_JPP_ID('t','a','n','g') , EMBT_DYNAMIC = MAKE_JPP_ID('d','y','n','a') ,
  EMBT_SHARED = MAKE_JPP_ID('s','h','a','r') , EMBT_SKIN = MAKE_JPP_ID('s','k','i','n') , EMBT_UNKNOWN = MAKE_JPP_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 Jimcpp 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 JPP_SCENE_MANAGER_IS_EDITOR = "JPP_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 jpp::scene::SMD3Header PACK_CLASS
 
const c8 *const SceneNodeUpdateAbsNames []
 Names for culling type.
 
const c8 *const AutomaticCullingNames []
 Names for culling type.
 

Detailed Description

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

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 Jimcpp 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 Jimcpp

EAMT_MDL_HALFLIFE 

Halflife MDL model file.

EAMT_SKINNED 

generic skinned mesh

EAMT_STATIC 

generic non-animated mesh

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

◆ E_BONE_SKINNING_SPACE

Enumerator
EBSS_LOCAL 

local skinning, standard

EBSS_GLOBAL 

global skinning

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

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

◆ E_COLLADA_JPP_COLOR

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

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

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

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

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

◆ E_INTERPOLATION_MODE

Enumerator
EIM_COUNT 

count of all available interpolation modes

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

◆ 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 Jimcpp mesh-writer

EMWF_WRITE_COMPRESSED 

write in a way that consumes less disk space

EMWF_WRITE_BINARY 

write in binary format rather than text

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

◆ 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. 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).

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

◆ 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 This was the only available type before Jimcpp 1.9, so it's still the default in some functions. It has the least vertices, but is pretty much unusable if you have dynamic light

ECMT_6BUF_4VTX_NP 

One buffer per side, each with 4 vertices, normals are perpendicular to sides You can use this one if you need different texture on each cube side

ECMT_1BUF_24VTX_NP 

Single buffer with 24 different vertices, normals are perpendicular to sides.

ECMT_COUNT 

not used, counts the number of enumerated types

◆ EMD2_ANIMATION_TYPE

Types of standard md2 animations.

Enumerator
EMAT_COUNT 

Not an animation, but amount of animation types.

◆ EMD3_ANIMATION_TYPE

Animation list.

Enumerator
EMD3_ANIMATION_COUNT 

Not an animation, but amount of animation types.

◆ EMESH_BUFFER_TYPE

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.

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

◆ 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

◆ 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

◆ 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();
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();
p->addAffector(paf);
paf->drop();
bool drop() const
Drops the object. Decrements the reference counter by one.
Definition IReferenceCounted.hpp:126
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.hpp:22
A particle affector modifies particles.
Definition IParticleAffector.hpp:42
A particle emitter for using with particle systems.
Definition IParticleEmitter.hpp:46
Definition IParticleSystemSceneNode.hpp:72
virtual IParticleBoxEmitter * createBoxEmitter(const core::aabbox3df &box=core::aabbox3df(-10, 28,-10, 10, 30, 10), const core::vector3df &direction=core::vector3df(0.0f, 0.03f, 0.0f), u32 minParticlesPerSecond=5, u32 maxParticlesPerSecond=10, const video::SColor &minStartColor=video::SColor(255, 0, 0, 0), const video::SColor &maxStartColor=video::SColor(255, 255, 255, 255), u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, s32 maxAngleDegrees=0, const core::dimension2df &minStartSize=core::dimension2df(5.0f, 5.0f), const core::dimension2df &maxStartSize=core::dimension2df(5.0f, 5.0f))=0
Creates a box particle emitter.
virtual void addAffector(IParticleAffector *affector)=0
Adds new particle effector to the particle system.
virtual void setEmitter(IParticleEmitter *emitter)=0
Sets the particle emitter, which creates the particles.
virtual IParticleFadeOutAffector * createFadeOutParticleAffector(const video::SColor &targetColor=video::SColor(0, 0, 0, 0), u32 timeNeededToFadeOut=1000)=0
Creates a fade out particle affector.
virtual void setParticleSize(const core::dimension2d< f32 > &size=core::dimension2d< f32 >(5.0f, 5.0f))=0
Sets the size of all particles.
Class representing a 32 bit ARGB color.
Definition SColor.hpp:317

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

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

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

◆ ESCENE_NODE_UPDATE_ABS

Options how ISceneNode::updateAbsolutePosition calculates the AbsoluteTransformation.

Enumerator
ESNUA_TRANSFORM_MATRIX 

Node and parent transformation matrices are multiplied (default)

ESNUA_TRANSFORM_POSITION 

Only transform the position of the node transformation matrix by the parent transformation matrix. Parent will not affect the rotation/scale of the node transformation.

◆ 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).

Variable Documentation

◆ ALLOW_ZWRITE_ON_TRANSPARENT

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

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

The default behavior in Jimcpp 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);
const c8 *const ALLOW_ZWRITE_ON_TRANSPARENT
Name of the parameter for changing how Jimcpp handles the ZWrite flag for transparent (blending) mate...
Definition SceneParameters.hpp:32

◆ AutomaticCullingNames

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

Names for culling type.

◆ B3D_LOADER_IGNORE_MIPMAP_FLAG

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

Flag to ignore the b3d file's mipmapping flag.

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

SceneManager->getParameters()->setAttribute(scene::B3D_LOADER_IGNORE_MIPMAP_FLAG, true);
const c8 *const B3D_LOADER_IGNORE_MIPMAP_FLAG
Flag to ignore the b3d file's mipmapping flag.
Definition SceneParameters.hpp:148

◆ B3D_TEXTURE_PATH

const c8* const jpp::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");
const c8 *const B3D_TEXTURE_PATH
Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.
Definition SceneParameters.hpp:156

◆ BoneAnimationModeNames

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

Names for bone animation modes.

◆ COLLADA_CREATE_SCENE_INSTANCES

const c8* const jpp::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);
const c8 *const COLLADA_CREATE_SCENE_INSTANCES
Name of the parameter specifying the COLLADA mesh loading mode.
Definition SceneParameters.hpp:69

◆ CSM_TEXTURE_PATH

const c8* const jpp::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");
const c8 *const CSM_TEXTURE_PATH
Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.
Definition SceneParameters.hpp:40

◆ CubeMeshTypeNames

const c8* const jpp::scene::CubeMeshTypeNames[ECMT_COUNT+1]
Initial value:
=
{
"1BUF_12VTX_NA",
"ECMT_6BUF_4VTX_NP",
"1BUF_24VTX_NP",
0
}

Names for ECUBE_MESH_TYPE.

◆ DEBUG_NORMAL_COLOR

const c8* const jpp::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));
const c8 *const DEBUG_NORMAL_COLOR
Name of the parameter for setting the color of debug normals.
Definition SceneParameters.hpp:177

◆ DEBUG_NORMAL_LENGTH

const c8* const jpp::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);
const c8 *const DEBUG_NORMAL_LENGTH
Name of the parameter for setting the length of debug normals.
Definition SceneParameters.hpp:169

◆ DMF_ALPHA_CHANNEL_REF

const c8* const jpp::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);
const c8 *const DMF_ALPHA_CHANNEL_REF
Name of the parameter for setting reference value of alpha in transparent materials.
Definition SceneParameters.hpp:104

◆ DMF_FLIP_ALPHA_TEXTURES

const c8* const jpp::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);
const c8 *const DMF_FLIP_ALPHA_TEXTURES
Name of the parameter for choose to flip or not tga files.
Definition SceneParameters.hpp:113

◆ DMF_IGNORE_MATERIALS_DIRS

const c8* const jpp::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:

//this way you won't use this setting (default)
SceneManager->getParameters()->setAttribute(scene::DMF_IGNORE_MATERIALS_DIRS, false);
const c8 *const DMF_IGNORE_MATERIALS_DIRS
Name of the parameter for preserving DMF textures dir class with built-in DMF loader.
Definition SceneParameters.hpp:95
//this way you'll use this setting
SceneManager->getParameters()->setAttribute(scene::DMF_IGNORE_MATERIALS_DIRS, true);

◆ DMF_TEXTURE_PATH

const c8* const jpp::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");
const c8 *const DMF_TEXTURE_PATH
Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.
Definition SceneParameters.hpp:79

◆ JPP_SCENE_MANAGER_IS_EDITOR

const c8* const jpp::scene::JPP_SCENE_MANAGER_IS_EDITOR = "JPP_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

◆ LMTS_TEXTURE_PATH

const c8* const jpp::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");
const c8 *const LMTS_TEXTURE_PATH
Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.
Definition SceneParameters.hpp:48

◆ MY3D_TEXTURE_PATH

const c8* const jpp::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");
const c8 *const MY3D_TEXTURE_PATH
Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.
Definition SceneParameters.hpp:56

◆ OBJ_LOADER_IGNORE_GROUPS

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

Flag to avoid loading group classes in .obj files.

Use it like this:

SceneManager->getParameters()->setAttribute(scene::OBJ_LOADER_IGNORE_GROUPS, true);
const c8 *const OBJ_LOADER_IGNORE_GROUPS
Flag to avoid loading group classes in .obj files.
Definition SceneParameters.hpp:130

◆ OBJ_LOADER_IGNORE_MATERIAL_FILES

const c8* const jpp::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);
const c8 *const OBJ_LOADER_IGNORE_MATERIAL_FILES
Flag to avoid loading material .mtl file for .obj files.
Definition SceneParameters.hpp:139

◆ OBJ_TEXTURE_PATH

const c8* const jpp::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");
const c8 *const OBJ_TEXTURE_PATH
Deprecated, use IMeshLoader::getMeshTextureLoader()->setTexturePath instead.
Definition SceneParameters.hpp:122

◆ ParticleAffectorTypeNames

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

Names for built in particle affectors.

◆ ParticleEmitterTypeNames

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

Names for built in particle emitters.

◆ SceneNodeUpdateAbsNames

const c8* const jpp::scene::SceneNodeUpdateAbsNames[]
Initial value:
=
{
"matrix",
"pos",
0
}

Names for culling type.


Jimcpp    @cppfx.xyz

K