Mesh support (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

Classes | Modules
Mesh support
Crystal Space 3D Engine

## 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 Level Of Detail (LOD) features. 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 | iMeshFactoryWrapperIterator
| This is an iterator mesh factory wrappers. 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 of mesh wrappers. More...
## Modules
| Mesh plugins
## 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_NOSHADOWCAST 16
| If CS_ENTITY_NOSHADOWCAST is set then this mesh will not cast shadows.
#define | CS_ENTITY_NOSHADOWS CS_ENTITY_NOSHADOWCAST
| If CS_ENTITY_DETAIL is set then this entity is a detail object.
#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.
#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_NODECAL 256
| If CS_ENTITY_NODECAL is set then this entity will not accept decals.
#define | CS_ENTITY_STATICLIT 512
| Indicates that static lighting was computed for this mesh.
#define | CS_ENTITY_NOSHADOWRECEIVE 1024
| If CS_ENTITY_NOSHADOWRECEIVE is set then this mesh will not receive shadows.
#define | CS_ENTITY_LIMITEDSHADOWCAST 2048
| Mark a mesh as a shadow caster if a render managers allows limiting shadow casting limited to select meshes.
#define | CS_ENTITY_ALWAYSVISIBLE 4096
| Mark a mesh as always visible for occlusion culling purposes.

## Define Documentation

#define CS_ENTITY_ALWAYSVISIBLE 4096

Mark a mesh as always visible for occlusion culling purposes.

Definition at line 156 of file mesh.h.

#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 80 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 70 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 97 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 89 of file mesh.h.

#define CS_ENTITY_LIMITEDSHADOWCAST 2048

Mark a mesh as a shadow caster if a render managers allows limiting shadow casting limited to select meshes.

Definition at line 151 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 129 of file mesh.h.

#define CS_ENTITY_NODECAL 256

If CS_ENTITY_NODECAL is set then this entity will not accept decals.

Definition at line 134 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 118 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 112 of file mesh.h.

#define CS_ENTITY_NOSHADOWCAST 16

If CS_ENTITY_NOSHADOWCAST is set then this mesh will not cast shadows.

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

Definition at line 104 of file mesh.h.

#define CS_ENTITY_NOSHADOWRECEIVE 1024

If CS_ENTITY_NOSHADOWRECEIVE is set then this mesh will not receive shadows.

Definition at line 145 of file mesh.h.

#define CS_ENTITY_NOSHADOWS CS_ENTITY_NOSHADOWCAST

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 105 of file mesh.h.

#define CS_ENTITY_STATICLIT 512

Indicates that static lighting was computed for this mesh.

Definition at line 139 of file mesh.h.