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< f32 > | Projection |
typedef Transformation2D< f32 > | ScreenSpaceTransformation |
typedef Transformation3D< f32 > | Transformation |
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 |
Add 3D object management functions and scene rendering can be found in this namespace.