CrystalSpace

Public API Reference

Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Mesh support
[Crystal Space 3D Engine]


Classes

struct  iLODControl
 The iLODControl interface represents an object that has controllable LOD features. More...
struct  iMeshDrawCallback
 Set a callback which is called just before the object is drawn. More...
struct  iMeshWrapper
 A mesh wrapper is an engine-level object that wraps around an actual mesh object (iMeshObject). More...
struct  iMeshFactoryWrapper
 A mesh factory wrapper is an engine-level object that wraps around a mesh object factory (iMeshObjectFactory). More...
struct  iMeshList
 A list of meshes. More...
struct  iMeshFactoryList
 A list of mesh factories. More...
struct  iMeshWrapperIterator
 This is an iterator mesh wrappers. More...

Meshwrapper flags

#define CS_ENTITY_DETAIL   2
 If CS_ENTITY_DETAIL is set then this entity is a detail object.
#define CS_ENTITY_CAMERA   4
 If CS_ENTITY_CAMERA is set then this entity will be always be centerer around the same spot relative to the camera.
#define CS_ENTITY_INVISIBLEMESH   8
 If CS_ENTITY_INVISIBLEMESH is set then this thing will not be rendered.
#define CS_ENTITY_INVISIBLE   (CS_ENTITY_INVISIBLEMESH+CS_ENTITY_NOHITBEAM)
 If CS_ENTITY_INVISIBLE is set then this thing will not be rendered.
#define CS_ENTITY_NOSHADOWS   16
 If CS_ENTITY_NOSHADOWS is set then this thing will not cast shadows.
#define CS_ENTITY_NOLIGHTING   32
 If CS_ENTITY_NOLIGHTING is set then this thing will not be lit.
#define CS_ENTITY_NOHITBEAM   64
 If CS_ENTITY_NOHITBEAM is set then this thing will not react to HitBeam calls.

SetLightingUpdate flags

#define CS_LIGHTINGUPDATE_SORTRELEVANCE   1
 This is a flag for iMeshWrapper->SetLightingUpdate().
#define CS_LIGHTINGUPDATE_ALWAYSUPDATE   2
 If this flag for iMeshWrapper->SetLightingUpdate() is set then the set of relevant lights will be recalculated every time.

Define Documentation

#define CS_ENTITY_CAMERA   4
 

If CS_ENTITY_CAMERA is set then this entity will be always be centerer around the same spot relative to the camera.

This is useful for skyboxes or skydomes. Important note! When you use an object with this flag you should also add this object to a render priority that also has the camera flag set (see iEngine->SetRenderPriorityCamera()).

Definition at line 73 of file mesh.h.

#define CS_ENTITY_DETAIL   2
 

If CS_ENTITY_DETAIL is set then this entity is a detail object.

A detail object is treated as a single object by the engine. The engine can do several optimizations on this. In general you should use this flag for small and detailed objects. This flag is currently not used.

Definition at line 63 of file mesh.h.

#define CS_ENTITY_INVISIBLE   (CS_ENTITY_INVISIBLEMESH+CS_ENTITY_NOHITBEAM)
 

If CS_ENTITY_INVISIBLE is set then this thing will not be rendered.

It will still cast shadows and be present otherwise. Use the CS_ENTITY_NOSHADOWS flag to disable shadows. Making a mesh invisible will also imply that HitBeam() will ignore it.

Definition at line 90 of file mesh.h.

#define CS_ENTITY_INVISIBLEMESH   8
 

If CS_ENTITY_INVISIBLEMESH is set then this thing will not be rendered.

It will still cast shadows and be present otherwise. Use the CS_ENTITY_NOSHADOWS flag to disable shadows. Using this flag does NOT automatically imply that HitBeam() will ignore this mesh. For that you need to set CS_ENTITY_NOHITBEAM.

Definition at line 82 of file mesh.h.

#define CS_ENTITY_NOHITBEAM   64
 

If CS_ENTITY_NOHITBEAM is set then this thing will not react to HitBeam calls.

Definition at line 110 of file mesh.h.

#define CS_ENTITY_NOLIGHTING   32
 

If CS_ENTITY_NOLIGHTING is set then this thing will not be lit.

It may still cast shadows though. Use the CS_ENTITY_NOSHADOWS flag to disable that.

Definition at line 104 of file mesh.h.

#define CS_ENTITY_NOSHADOWS   16
 

If CS_ENTITY_NOSHADOWS is set then this thing will not cast shadows.

Lighting will still be calculated for it though. Use the CS_ENTITY_NOLIGHTING flag to disable that.

Definition at line 97 of file mesh.h.

#define CS_LIGHTINGUPDATE_ALWAYSUPDATE   2
 

If this flag for iMeshWrapper->SetLightingUpdate() is set then the set of relevant lights will be recalculated every time.

Otherwise the lights are only recalculated when the object moves or when one of the affected lights changes (default).

Definition at line 130 of file mesh.h.

#define CS_LIGHTINGUPDATE_SORTRELEVANCE   1
 

This is a flag for iMeshWrapper->SetLightingUpdate().

If this flag is set then only the 'N' most relevant lights will be returned to the object. If not set then 'N' random lights will be returned.

Definition at line 122 of file mesh.h.


Generated for Crystal Space by doxygen 1.3.9.1