Namespaces | Classes | Typedefs | Enumerations | Functions | Variables

sp::scene Namespace Reference

Add 3D object management functions and scene rendering can be found in this namespace. More...

Namespaces

namespace  MeshGenerator
namespace  MeshModifier
 

Namespace for mesh buffer modification. This is only to modify vertex coordinates and delta connections.


namespace  TreeBuilder

Classes

struct  SMeshConstruct
 Basic meshes construction settings. More...
class  BasicMeshGenerator
 !! More...
class  ConvexPolyhedron
class  SPrimitiveVertex2D
class  SMeshVertex3D
struct  SMeshTriangle3D
class  Projection3D
class  Transformation2D
class  Transformation3D
struct  STreeNodeTriangleData
class  TreeNode
 This is the tree node base class. More...
class  BSPTreeNode
 BSP tree node class used for BSP scenes. More...
class  ImageTreeNode
class  KDTreeNode
 kd-Tree node class for universal usage. More...
class  OBBTreeNode
 Oriented bounding box tree node class used for bounding volume hierarchies. More...
class  OcTreeNode
 Oct tree (or rather OcTree) node class used for collision detection and intersection optimization. More...
class  QuadTreeNode
 Quad tree node class used for terrain patches and optimization purposes. More...
class  ViewFrustum
class  BoundingVolume
class  FirstPersonCamera
class  MaterialNode
class  ClipVertex
class  RenderNode
 Interface for all renderable objects: visible 3d geometry and light sources or a whole scene graph. More...
class  Billboard
class  Camera
class  SceneGraph
class  SceneGraphFamilyTree
class  SceneGraphPortalBased
class  SceneGraphSimple
class  SceneGraphSimpleStream
class  Light
class  SceneManager
struct  SCmpTransTriangle
class  Mesh
class  SceneNode
class  Portal
class  Sector
class  Terrain
class  MeshLoader
class  SceneLoader
class  MeshLoader3DS
class  MeshLoaderB3D
class  MeshLoaderMD2
class  MeshLoaderMD3
class  MeshLoaderMS3D
class  MeshLoaderOBJ
class  MeshLoaderSPM
class  MeshLoaderX
class  MeshSaver
class  MeshSaverB3D
class  MeshSaverOBJ
class  MeshSaverSPM
class  SceneLoaderBSP1
 This is the "Quake 1" BSP scene loader. More...
class  SceneLoaderBSP3
 This is the "Quake III Arena" BSP scene loader. More...
class  BSPLoaderExtensions
class  SceneLoaderSPSB
class  BaseCollisionPhysicsObject
class  CharacterController
class  CollisionBox
class  CollisionCapsule
class  CollisionCone
struct  SCollisionFace
struct  SContactBase
struct  SIntersectionContact
struct  SCollisionContact
class  CollisionCylinder
class  CollisionGraph
class  CollisionLineBased
class  CollisionMaterial
class  CollisionMesh
class  CollisionNode
class  CollisionPlane
class  CollisionSphere
class  Animation
struct  SVertexGroup
struct  SVertexKeyframe
 Stores the keyframe coordinate and normal for a vertex. More...
struct  SMorphTargetVertex
struct  SNodeKeyframe
 Stores the transformation and duration for a node animation keyframe. More...
class  AnimationJoint
struct  SJointKeyframe
 Joint keyframe structure. More...
class  AnimationJointGroup
struct  SAnimSequence
 Animation sequence structure. This is used to store a fixed animation sequence for easy access. More...
struct  SAnimQueue
class  AnimationPlayback
struct  SSurfaceVertex
struct  SWeight
struct  SVertex
class  AnimationSkeleton
class  KeyframeSequence
class  MeshAnimation
 Extension class for mesh based animations (MorphTargetAnimation and SkeletalAnimation). More...
class  MorphTargetAnimation
class  NodeAnimation
class  SkeletalAnimation

Typedefs

typedef Projection3D< f32Projection
typedef Transformation2D< f32ScreenSpaceTransformation
typedef Transformation3D< f32Transformation
typedef boost::function< void(TreeNode
*Node
TreeNodeDestructorCallback )
typedef boost::function< bool(CharacterController
*Controller, const
CollisionNode *Rival, const
SCollisionContact &Contact) 
CharacterContactCallback )
typedef boost::function< bool(const
CollisionNode *Node
IntersectionCriteriaCallback )
typedef boost::function< bool(CollisionMaterial
*Material, CollisionNode *Node,
const CollisionNode *Rival,
const SCollisionContact
&Contact) 
CollisionContactCallback )
typedef boost::function< void(AnimationPlayback
&Playback, bool isSetManual)> 
PlaybackFrameCallback

Enumerations

enum  ENodeOrderTypes { ORDER_FOREGROUND = -1, ORDER_NORMAL = 0, ORDER_BACKGROUND = 1 }
 

Object order types for sorting.

More...
enum  ELightModels { LIGHT_DIRECTIONAL = 0, LIGHT_POINT, LIGHT_SPOT }
 

Light source models.

More...
enum  EBasicMeshes {
  MESH_CUBE, MESH_CONE, MESH_CYLINDER, MESH_SPHERE,
  MESH_ICOSPHERE, MESH_TORUS, MESH_TORUSKNOT, MESH_SPIRAL,
  MESH_PIPE, MESH_PLANE, MESH_DISK, MESH_CUBOCTAHEDRON,
  MESH_TETRAHEDRON, MESH_OCTAHEDRON, MESH_DODECAHEDRON, MESH_ICOSAHEDRON,
  MESH_TEAPOT, MESH_WIRE_CUBE
}
 

Basic meshes that can be constructed by the MeshGenerator.

More...
enum  EMeshFileFormats {
  MESHFORMAT_UNKNOWN, MESHFORMAT_SPM, MESHFORMAT_3DS, MESHFORMAT_MS3D,
  MESHFORMAT_X, MESHFORMAT_B3D, MESHFORMAT_MD2, MESHFORMAT_MD3,
  MESHFORMAT_OBJ, MESHFORMAT_OGRE, MESHFORMAT_LWO
}
 

Mesh file formats.

More...
enum  ESceneFileFormats { SCENEFORMAT_UNKNOWN, SCENEFORMAT_SPSB, SCENEFORMAT_BSP1, SCENEFORMAT_BSP3 }
 

Scene file formats.

More...
enum  ESuperShapeModels {
  SUPERSHAPE_SMALL_CRYSTAL1 = 0, SUPERSHAPE_SMALL_CRYSTAL2, SUPERSHAPE_SMALL_STAR1, SUPERSHAPE_SMALL_STAR2,
  SUPERSHAPE_SMALL_STAR3, SUPERSHAPE_SMALL_STAR4, SUPERSHAPE_BIG_STAR1, SUPERSHAPE_URCHIN1,
  SUPERSHAPE_CUSHION1, SUPERSHAPE_RANDOM
}
 

Pre defined super shape models.

More...
enum  EKDTreeBuildingConcepts { KDTREECONCEPT_CENTER, KDTREECONCEPT_AVERAGE }
 

Concepts of building a kd-Tree.

More...
enum  ETreeNodeTypes {
  TREENODE_QUADTREE, TREENODE_POINTQUADTREE, TREENODE_OCTREE, TREENODE_BSPTREE,
  TREENODE_KDTREE, TREENODE_OBBTREE
}
 

Node types for tree-hierarchy.

More...
enum  EKDTreeAxles { KDTREE_XAXIS = 0, KDTREE_YAXIS, KDTREE_ZAXIS }
 

kd-Tree node axles.

More...
enum  EViewFrustumPlanes {
  VIEWFRUSTUM_NEAR = 0, VIEWFRUSTUM_FAR, VIEWFRUSTUM_LEFT, VIEWFRUSTUM_RIGHT,
  VIEWFRUSTUM_BOTTOM, VIEWFRUSTUM_TOP, VIEWFRUSTUM_PLANE_COUNT
}
 

View frustum plane sides.

More...
enum  EBoundingVolumes { BOUNDING_NONE, BOUNDING_SPHERE, BOUNDING_BOX }
 

Bounding volume types.

More...
enum  EFirstPersonCameraFlags { FPCAMERAFLAG_NONE = 0x00, FPCAMERAFLAG_USEARROWS = 0x01 }
enum  ESceneGraphs {
  SCENEGRAPH_CUSTOM, SCENEGRAPH_SIMPLE, SCENEGRAPH_SIMPLE_STREAM, SCENEGRAPH_FAMILY_TREE,
  SCENEGRAPH_PORTAL_BASED
}
 

Supported scene graphs.

More...
enum  ERenderListSortMethods { RENDERLIST_SORT_DEPTHDISTANCE, RENDERLIST_SORT_MESHBUFFER }
 

Sort methods for the render node list.

More...
enum  ENodeTypes {
  NODE_BASICNODE, NODE_CUSTOM, NODE_SCENEGRAPH, NODE_CAMERA,
  NODE_LIGHT, NODE_MESH, NODE_BILLBOARD, NODE_TERRAIN
}
 

Scene node types.

More...
enum  EMeshLoaderFlags { MESHFLAG_SINGLE_MODEL = 0x0001 }
 

Mesh loader flags. Used in the SceneManager::loadMesh function.

More...
enum  EMD2AnimTypes {
  MD2ANIM_STAND = 0, MD2ANIM_RUN, MD2ANIM_ATTACK, MD2ANIM_PAIN_A,
  MD2ANIM_PAIN_B, MD2ANIM_PAIN_C, MD2ANIM_JUMP, MD2ANIM_FLIP,
  MD2ANIM_SALUTE, MD2ANIM_FALLBACK, MD2ANIM_WAVE, MD2ANIM_POINT,
  MD2ANIM_CROUCH_STAND, MD2ANIM_CROUCH_WALK, MD2ANIM_CROUCH_ATTACK, MD2ANIM_CROUCH_PAIN,
  MD2ANIM_CROUCH_DEATH, MD2ANIM_DEATH_FALLBACK, MD2ANIM_DEATH_FALLFORWARD, MD2ANIM_DEATH_FALLBACKSLOW,
  MD2ANIM_BOOM, MD2ANIM_MAX_ANIMATIONS
}
enum  EModelSPMChunkFlags {
  MDLSPM_CHUNK_NONE = 0x0000, MDLSPM_CHUNK_GOURAUDSHADING = 0x0008, MDLSPM_CHUNK_NODE_ANIM = 0x0010, MDLSPM_CHUNK_MORPHTARGET_ANIM = 0x0020,
  MDLSPM_CHUNK_SKELETAL_ANIM = 0x0040, MDLSPM_CHUNK_INDEX32BIT = 0x0001, MDLSPM_CHUNK_VERTEXCOLOR = 0x0002, MDLSPM_CHUNK_VERTEXFOG = 0x0004,
  MDLSPM_CHUNK_VERTEXNORMAL = 0x0008, MDLSPM_CHUNK_TEXTUREINTERN = 0x0010, MDLSPM_CHUNK_TEXTUREMATRIX = 0x0020
}
enum  ESceneLoaderFlags {
  SCENEFLAG_ABSOLUTEPATH = 0x00000001, SCENEFLAG_CONFIG = 0x00000002, SCENEFLAG_MESHES = 0x00000004, SCENEFLAG_LIGHTS = 0x00000008,
  SCENEFLAG_CAMERAS = 0x00000010, SCENEFLAG_WAYPOINTS = 0x00000020, SCENEFLAG_BOUNDVOLUMES = 0x00000040, SCENEFLAG_SOUNDS = 0x00000080,
  SCENEFLAG_SPRITES = 0x00000100, SCENEFLAG_ANIMNODES = 0x00000200, SCENEFLAG_TEXTURES = 0x00010000, SCENEFLAG_LIGHTMAPS = 0x00020000,
  SCENEFLAG_SHADERS = 0x00040000, SCENEFLAG_STORYBOARDITEMS = 0x00080000, SCENEFLAG_OBJECTS, SCENEFLAG_ALL = ~0
}
enum  ECollisionModels {
  COLLISION_NONE = 0, COLLISION_SPHERE, COLLISION_CAPSULE, COLLISION_CYLINDER,
  COLLISION_CONE, COLLISION_BOX, COLLISION_PLANE, COLLISION_MESH
}
 

Collision models.

More...
enum  ECollisionFlags {
  COLLISIONFLAG_NONE = 0x00, COLLISIONFLAG_DETECTION = 0x01, COLLISIONFLAG_RESOLVE = 0x02 | COLLISIONFLAG_DETECTION, COLLISIONFLAG_INTERSECTION = 0x04,
  COLLISIONFLAG_PERMANENT_UPDATE = 0x08, COLLISIONFLAG_FULL
}
 

Flags for collision detection.

More...
enum  ECollisionSupportFlags {
  COLLISIONSUPPORT_NONE = 0x00, COLLISIONSUPPORT_SPHERE = 0x01, COLLISIONSUPPORT_CAPSULE = 0x02, COLLISIONSUPPORT_CYLINDER = 0x04,
  COLLISIONSUPPORT_CONE = 0x08, COLLISIONSUPPORT_BOX = 0x10, COLLISIONSUPPORT_PLANE = 0x20, COLLISIONSUPPORT_MESH = 0x40,
  COLLISIONSUPPORT_ALL = ~0
}
 

Flags for collision detection support to rival collision nodes.

More...
enum  EAnimationTypes { ANIMATION_NODE, ANIMATION_MORPHTARGET, ANIMATION_SKELETAL }
 

Types of animation classes.

More...
enum  EAnimationFlags { ANIMFLAG_NO_GROUPING = 0x01, ANIMFLAG_NO_TRANSFORMATION = 0x02 }
 

Animation flags.

More...
enum  EAnimPlaybackModes {
  PLAYBACK_ONESHOT, PLAYBACK_ONELOOP, PLAYBACK_LOOP, PLAYBACK_PINGPONG,
  PLAYBACK_PINGPONG_LOOP
}
 

Animation playback modes.

More...
enum  EKeyframeFlags { KEYFRAME_POSITION = 0x01, KEYFRAME_ROTATION = 0x02, KEYFRAME_SCALE = 0x04, KEYFRAME_ALL = KEYFRAME_POSITION | KEYFRAME_ROTATION | KEYFRAME_SCALE }

Functions

bool cmpObjectLights (Light *ObjA, Light *ObjB)
bool compareSceneNodes (SceneNode *ObjA, SceneNode *ObjB)
bool cmpTransparentSurface (video::MeshBuffer *obj1, video::MeshBuffer *obj2)
bool cmpTransparentTriangle (const SCmpTransTriangle &obj1, const SCmpTransTriangle &obj2)
void clbTerrainTreeNodeDestructor (TreeNode *Node)
bool ChCtrlCollisionMaterial (CollisionMaterial *Material, CollisionNode *Node, const CollisionNode *Rival, const SCollisionContact &Contact)
bool operator< (const SSurfaceVertex &ObjA, const SSurfaceVertex &ObjB)

Variables

bool __spLightIDList [MAX_COUNT_OF_SCENELIGHTS] = { 0 }
dim::matrix4f spProjectionMatrix
dim::matrix4f spViewMatrix
dim::matrix4f spViewInvMatrix
dim::matrix4f spWorldMatrix
dim::matrix4f spTextureMatrix [MAX_COUNT_OF_TEXTURES]
dim::matrix4f spColorMatrix

Detailed Description

Add 3D object management functions and scene rendering can be found in this namespace.


Typedef Documentation

typedef boost::function<bool (CharacterController* Controller, const CollisionNode* Rival, const SCollisionContact &Contact) sp::scene::CharacterContactCallback)

Collision contact callback interface for a character controller.

Parameters:
Controller,: Pointer to the character controller of the detected contact.
Rival,: Pointer to the rival collision node which caused the collision contact.
Contact,: Holds the information details about the collision contact.
Returns:
True if the collision is about to be resolved. Otherwise the collision will be ignored and no collision-resolving will be performed.
typedef boost::function<bool (CollisionMaterial* Material, CollisionNode* Node, const CollisionNode* Rival, const SCollisionContact &Contact) sp::scene::CollisionContactCallback)

Collision contact callback interface.

Parameters:
[in] Material Pointer to the collision material of the detected contact.
[in] Node Pointer to the current collision node which has detected a collision contact with another collision node.
[in] Rival Pointer to the rival collision node which caused the collision contact.
[in] Contact Holds the information details about the collision contact.
Returns:
True if the collision is about to be resolved. Otherwise the collision will be ignored and no collision-resolving will be performed.
typedef boost::function<bool (const CollisionNode* Node) sp::scene::IntersectionCriteriaCallback)

The intersection criteria callback is used to determine which collision nodes are to be tested for intersection. Use this to sort individual nodes out.

Parameters:
[in] Node Pointer to the collision node which is to be tested for intersection.
Returns:
True if this collision node is to be tested. Otherwise false.
typedef boost::function<void (AnimationPlayback &Playback, bool isSetManual)> sp::scene::PlaybackFrameCallback

The playback frame callback can be used to determine when the frame index of an individual animation playback has been changed.

Parameters:
[in,out] Playback Specifies the animation playback object whose frame index has changed.
[in] isSetManual Specifies whether the frame index change was caused by a "setFrame" function call or not. If false the frame index changed was caused during the common animation playback.
typedef boost::function<void (TreeNode* Node) sp::scene::TreeNodeDestructorCallback)

Enumeration Type Documentation

Animation flags.

Enumerator:
ANIMFLAG_NO_GROUPING 

Disables the automatic group-animation for skeletal-animations.

ANIMFLAG_NO_TRANSFORMATION 

Disables the vertex transformation for skeletal-animations.

Types of animation classes.

Enumerator:
ANIMATION_NODE 

Node animation. An scene node will be transformed (position, rotation and scale).

ANIMATION_MORPHTARGET 

Morph-target animation. Vertices of a mesh object will be transformed (vertex coordinate and normal).

ANIMATION_SKELETAL 

Skeletal animation. Consists of a skeleton (AnimationSkeleton object) which holds all joints (AnimationJoint objects).

Animation playback modes.

Enumerator:
PLAYBACK_ONESHOT 

From first- to last frame.

PLAYBACK_ONELOOP 

From first- to last frame and back to first frame.

PLAYBACK_LOOP 

From first- to last frame forever.

PLAYBACK_PINGPONG 

From first- to last frame and backwards.

PLAYBACK_PINGPONG_LOOP 

From first- to last frame and backwards forever.

Basic meshes that can be constructed by the MeshGenerator.

Enumerator:
MESH_CUBE 

Simple cube.

MESH_CONE 

Simple cone (with or without cap).

MESH_CYLINDER 

Simple cylinder (with or without cap).

MESH_SPHERE 

Simple sphere.

MESH_ICOSPHERE 

IcoSphere (like in Blender) generated by an Icosahedron with sub-devision.

MESH_TORUS 

Torus (or rather ring).

MESH_TORUSKNOT 

Torusknot.

MESH_SPIRAL 

Spiral with flexible rotation degree (with or without cap).

MESH_PIPE 

Pipe (with or without cap).

MESH_PLANE 

Simple plane (or rather quad).

MESH_DISK 

Simple disk (with or without cap, without cap it looks like a CD-ROM).

MESH_CUBOCTAHEDRON 

Polyhedron Cuboctahedron.

MESH_TETRAHEDRON 

Platonic body: Tetrahedron.

MESH_OCTAHEDRON 

Platonic body: Octahedron.

MESH_DODECAHEDRON 

Platonic body: Dodecahedron.

MESH_ICOSAHEDRON 

Platonic body: Icosahedron.

MESH_TEAPOT 

Original "Utah Teapot". The 3D model par excellence ;-).

MESH_WIRE_CUBE 

Simple wire cube.

Bounding volume types.

Enumerator:
BOUNDING_NONE 

Not used.

BOUNDING_SPHERE 

Bounding sphere.

BOUNDING_BOX 

Bounding box.

Flags for collision detection.

Enumerator:
COLLISIONFLAG_NONE 

No collision detection, resolving and intersection tests will be performed.

COLLISIONFLAG_DETECTION 

Collision detection is performed.

COLLISIONFLAG_RESOLVE 

Collision resolving is performed.

COLLISIONFLAG_INTERSECTION 

Intersection tests are performed.

COLLISIONFLAG_PERMANENT_UPDATE 

Collision detection will be performed every frame. Otherwise only when the object has been moved.

COLLISIONFLAG_FULL 

Collision resolving and intersection tests are performed.

Collision models.

Enumerator:
COLLISION_NONE 

No collision model.

COLLISION_SPHERE 

Collision sphere with position and radius.

COLLISION_CAPSULE 

Collision capsule with position, rotation, radius and height.

COLLISION_CYLINDER 

Collision cylinder with position, rotation, radius and height.

COLLISION_CONE 

Collision cone with position, rotation, radius and height.

COLLISION_BOX 

Collision box with position, rotation and axis-alined-bounding-box.

COLLISION_PLANE 

Collision plane with position and normal vector.

COLLISION_MESH 

Collision mesh using kd-Tree.

Flags for collision detection support to rival collision nodes.

Enumerator:
COLLISIONSUPPORT_NONE 

Collision to no rival collision node is supported.

COLLISIONSUPPORT_SPHERE 

Collision to sphere is supported.

COLLISIONSUPPORT_CAPSULE 

Collision to capsule is supported.

COLLISIONSUPPORT_CYLINDER 

Collision to cylinder is supported.

COLLISIONSUPPORT_CONE 

Collision to cone is supported.

COLLISIONSUPPORT_BOX 

Collision to box is supported.

COLLISIONSUPPORT_PLANE 

Collision to plane is supported.

COLLISIONSUPPORT_MESH 

Collision to mesh is supported.

COLLISIONSUPPORT_ALL 

COllision to any rival collision node is supported.

Enumerator:
FPCAMERAFLAG_NONE 
FPCAMERAFLAG_USEARROWS 

kd-Tree node axles.

Enumerator:
KDTREE_XAXIS 

X axis.

KDTREE_YAXIS 

Y axis.

KDTREE_ZAXIS 

Z axis.

Concepts of building a kd-Tree.

Enumerator:
KDTREECONCEPT_CENTER 

Center will be used. This is similar to an OcTree.

KDTREECONCEPT_AVERAGE 

The average vertex position will be used to determine the next kd-Tree node construction.

Enumerator:
KEYFRAME_POSITION 
KEYFRAME_ROTATION 
KEYFRAME_SCALE 
KEYFRAME_ALL 

Light source models.

Enumerator:
LIGHT_DIRECTIONAL 

Directional light source. Position is unnecessary.

LIGHT_POINT 

Point light source. Direction is unnecessary.

LIGHT_SPOT 

Spot light source. Position and direction is necessary.

Enumerator:
MD2ANIM_STAND 
MD2ANIM_RUN 
MD2ANIM_ATTACK 
MD2ANIM_PAIN_A 
MD2ANIM_PAIN_B 
MD2ANIM_PAIN_C 
MD2ANIM_JUMP 
MD2ANIM_FLIP 
MD2ANIM_SALUTE 
MD2ANIM_FALLBACK 
MD2ANIM_WAVE 
MD2ANIM_POINT 
MD2ANIM_CROUCH_STAND 
MD2ANIM_CROUCH_WALK 
MD2ANIM_CROUCH_ATTACK 
MD2ANIM_CROUCH_PAIN 
MD2ANIM_CROUCH_DEATH 
MD2ANIM_DEATH_FALLBACK 
MD2ANIM_DEATH_FALLFORWARD 
MD2ANIM_DEATH_FALLBACKSLOW 
MD2ANIM_BOOM 
MD2ANIM_MAX_ANIMATIONS 

Mesh file formats.

Enumerator:
MESHFORMAT_UNKNOWN 

Unknown file format.

MESHFORMAT_SPM 

SoftPixelMesh.

MESHFORMAT_3DS 

3D Studio.

MESHFORMAT_MS3D 

Milkshape3D.

MESHFORMAT_X 

DirectX.

MESHFORMAT_B3D 

Blitz3D.

MESHFORMAT_MD2 

Quake II model.

MESHFORMAT_MD3 

Quake III model.

MESHFORMAT_OBJ 

Wavefront Object.

MESHFORMAT_OGRE 

OGRE Mesh (unsupported yet).

MESHFORMAT_LWO 

LightWave Object (unsupported yet).

Mesh loader flags. Used in the SceneManager::loadMesh function.

Enumerator:
MESHFLAG_SINGLE_MODEL 

Only a single 3D model is to be created. Disallows model fragmentation.

Enumerator:
MDLSPM_CHUNK_NONE 
MDLSPM_CHUNK_GOURAUDSHADING 
MDLSPM_CHUNK_NODE_ANIM 
MDLSPM_CHUNK_MORPHTARGET_ANIM 
MDLSPM_CHUNK_SKELETAL_ANIM 
MDLSPM_CHUNK_INDEX32BIT 
MDLSPM_CHUNK_VERTEXCOLOR 
MDLSPM_CHUNK_VERTEXFOG 
MDLSPM_CHUNK_VERTEXNORMAL 
MDLSPM_CHUNK_TEXTUREINTERN 
MDLSPM_CHUNK_TEXTUREMATRIX 

Object order types for sorting.

Enumerator:
ORDER_FOREGROUND 
ORDER_NORMAL 
ORDER_BACKGROUND 

Scene node types.

Enumerator:
NODE_BASICNODE 

Basic scene node.

NODE_CUSTOM 

Custom scene node.

NODE_SCENEGRAPH 

Scene graph tree node.

NODE_CAMERA 

View camera.

NODE_LIGHT 

Light source.

NODE_MESH 

3D mesh object.

NODE_BILLBOARD 

Billboard/ particle/ sprite.

NODE_TERRAIN 

Terrain object.

Sort methods for the render node list.

Enumerator:
RENDERLIST_SORT_DEPTHDISTANCE 

Sorting with dependency to the depth distance between the renderable node and the view camera. This will be used when depth-sorting is enabled for a scene graph.

RENDERLIST_SORT_MESHBUFFER 

Sorting with dependency to the mesh buffers. This should be used if depth-sorting is disabled for performance optimization.

Scene file formats.

Enumerator:
SCENEFORMAT_UNKNOWN 

Unknown file format.

SCENEFORMAT_SPSB 

SoftPixel Sandbox Scene.

SCENEFORMAT_BSP1 

BinarySpacePartition v.1 (Quake map).

SCENEFORMAT_BSP3 

BinarySpacePartition v.3 (Quake III Arena map).

Supported scene graphs.

Enumerator:
SCENEGRAPH_CUSTOM 

Custom scene graph (user defined).

SCENEGRAPH_SIMPLE 

Simple default scene graph.

SCENEGRAPH_SIMPLE_STREAM 

Simple scene graph with streaming (used for multi-threading).

SCENEGRAPH_FAMILY_TREE 

Scene graph with child tree hierarchy.

SCENEGRAPH_PORTAL_BASED 

Portal-based scene graph.

Enumerator:
SCENEFLAG_ABSOLUTEPATH 

Load all resources with the absolute path. By default relative paths are used.

SCENEFLAG_CONFIG 

Load scene configuration. By default used.

SCENEFLAG_MESHES 

Load meshes. By default used.

SCENEFLAG_LIGHTS 

Load light sources. By default used.

SCENEFLAG_CAMERAS 

Load cameras. By default used.

SCENEFLAG_WAYPOINTS 

Load way points. By default used.

SCENEFLAG_BOUNDVOLUMES 

Load bounding volumes. By default used.

SCENEFLAG_SOUNDS 

Load sounds. By default used.

SCENEFLAG_SPRITES 

Load sprites. By default used.

SCENEFLAG_ANIMNODES 

Load animation nodes. By default used.

SCENEFLAG_TEXTURES 

Load textures and texture classes. By default used.

SCENEFLAG_LIGHTMAPS 

Load lightmaps and lightmap scene. By default used.

SCENEFLAG_SHADERS 

Load shaders and shader classes. By default used.

SCENEFLAG_STORYBOARDITEMS 

Load storyboard items. By default used.

SCENEFLAG_OBJECTS 

All objects: meshes, sprites, cameras etc.

SCENEFLAG_ALL 

All options are used.

Pre defined super shape models.

Enumerator:
SUPERSHAPE_SMALL_CRYSTAL1 
SUPERSHAPE_SMALL_CRYSTAL2 
SUPERSHAPE_SMALL_STAR1 
SUPERSHAPE_SMALL_STAR2 
SUPERSHAPE_SMALL_STAR3 
SUPERSHAPE_SMALL_STAR4 
SUPERSHAPE_BIG_STAR1 
SUPERSHAPE_URCHIN1 
SUPERSHAPE_CUSHION1 
SUPERSHAPE_RANDOM 

Node types for tree-hierarchy.

Enumerator:
TREENODE_QUADTREE 

QuadTree node (four children).

TREENODE_POINTQUADTREE 

PointQuadTree node (four children).

TREENODE_OCTREE 

OcTree node (or rather OcTree node, eight children).

TREENODE_BSPTREE 

BSP (binary-space-partion) tree node (two children).

TREENODE_KDTREE 

kd-Tree node (k dimensional binary tree).

TREENODE_OBBTREE 

Oriented Bounding Box tree node (list of children).

View frustum plane sides.

Enumerator:
VIEWFRUSTUM_NEAR 
VIEWFRUSTUM_FAR 
VIEWFRUSTUM_LEFT 
VIEWFRUSTUM_RIGHT 
VIEWFRUSTUM_BOTTOM 
VIEWFRUSTUM_TOP 
VIEWFRUSTUM_PLANE_COUNT 

Function Documentation

bool sp::scene::ChCtrlCollisionMaterial ( CollisionMaterial *  Material,
CollisionNode *  Node,
const CollisionNode *  Rival,
const SCollisionContact &  Contact 
)
void sp::scene::clbTerrainTreeNodeDestructor ( TreeNode *  Node  ) 
bool sp::scene::cmpObjectLights ( Light *  ObjA,
Light *  ObjB 
)
bool sp::scene::cmpTransparentSurface ( video::MeshBuffer *  obj1,
video::MeshBuffer *  obj2 
)
bool sp::scene::cmpTransparentTriangle ( const SCmpTransTriangle &  obj1,
const SCmpTransTriangle &  obj2 
)
bool sp::scene::compareSceneNodes ( SceneNode *  ObjA,
SceneNode *  ObjB 
)
bool sp::scene::operator< ( const SSurfaceVertex &  ObjA,
const SSurfaceVertex &  ObjB 
) [inline]

Variable Documentation

Todo:
Redesign this part. Don't use global matrices anymore!
Todo:
Refactor this part. Don't use global matrices anymore!
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines