CrystalSpace

Public API Reference

Mesh support
[Crystal Space 3D Engine]


Modules

 Mesh plugins

Classes

struct  csHitBeamResult
 Return structure for the iMeshWrapper->HitBeam() routines. More...
struct  csScreenBoxResult
 Return structure for iMeshWrapper->GetScreenBoundingBox(). More...
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  iMeshDrawCallback
 Set a callback which is called just before the object is drawn. More...
struct  iMeshFactoryList
 A list of mesh factories. 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  iMeshWrapper
 A mesh wrapper is an engine-level object that wraps around an actual mesh object (iMeshObject). More...
struct  iMeshWrapperIterator
 This is an iterator mesh wrappers. More...

Meshwrapper flags

#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_DETAIL   2
 If CS_ENTITY_DETAIL is set then this entity is a detail object.
#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_INVISIBLEMESH   8
 If CS_ENTITY_INVISIBLEMESH is set then this thing will not be rendered.
#define CS_ENTITY_NOCLIP   128
 If CS_ENTITY_NOCLIP is set then this entity will be drawn fully (unclipped to portal frustum) and only once for every frame/camera combination.
#define CS_ENTITY_NOHITBEAM   64
 If CS_ENTITY_NOHITBEAM is set then this thing will not react to HitBeam calls.
#define CS_ENTITY_NOLIGHTING   32
 If CS_ENTITY_NOLIGHTING is set then this thing will not be lit.
#define CS_ENTITY_NOSHADOWS   16
 If CS_ENTITY_NOSHADOWS is set then this thing will not cast shadows.

SetLightingUpdate flags

#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 CS_LIGHTINGUPDATE_SORTRELEVANCE   1
 This is a flag for iMeshWrapper->SetLightingUpdate().

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 82 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 72 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 99 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 91 of file mesh.h.

#define CS_ENTITY_NOCLIP   128

If CS_ENTITY_NOCLIP is set then this entity will be drawn fully (unclipped to portal frustum) and only once for every frame/camera combination.

This is useful in a scenario where you have an indoor sector with lots of portals to an outdoor sector. In the outdoor sector there is a complex terrain mesh object and you really only want to render that once with full screen and not many times clipped to individual portals.

Definition at line 130 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 119 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 113 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 106 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 150 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 142 of file mesh.h.


Generated for Crystal Space by doxygen 1.4.7