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

Ogre::BillboardSet Class Reference

A collection of billboards (faces which are always facing the camera) with the same (default) dimensions, material and which are fairly close proximity to each other. More...

#include <OgreBillboardSet.h>

Inheritance diagram for Ogre::BillboardSet:

Ogre::MovableObject Ogre::Renderable Ogre::ShadowCaster List of all members.

Public Types

typedef std::vector< ShadowRenderable * > ShadowRenderableList
typedef VectorIterator< ShadowRenderableListShadowRenderableListIterator

Public Member Functions

 BillboardSet (const String &name, unsigned int poolSize=20, bool externalDataSource=false)
 Usual constructor - this is called by the SceneManager.

virtual ~BillboardSet ()
BillboardcreateBillboard (const Vector3 &position, const ColourValue &colour=ColourValue::White)
 Creates a new billboard and adds it to this set.

BillboardcreateBillboard (Real x, Real y, Real z, const ColourValue &colour=ColourValue::White)
 Creates a new billboard and adds it to this set.

virtual int getNumBillboards (void) const
 Returns the number of active billboards which currently make up this set.

virtual void setAutoextend (bool autoextend)
 Tells the set whether to allow automatic extension of the pool of billboards.

virtual bool getAutoextend (void) const
 Returns true if the billboard pool automatically extends.

virtual void setPoolSize (unsigned int size)
 Adjusts the size of the pool of billboards available in this set.

virtual unsigned int getPoolSize (void) const
 Returns the current size of the billboard pool.

virtual void clear ()
 Empties this set of all billboards.

virtual BillboardgetBillboard (unsigned int index) const
 Returns a pointer to the billboard at the supplied index.

virtual void removeBillboard (unsigned int index)
 Removes the billboard at the supplied index.

virtual void removeBillboard (Billboard *pBill)
 Removes a billboard from the set.

virtual void setBillboardOrigin (BillboardOrigin origin)
 Sets the point which acts as the origin point for all billboards in this set.

virtual BillboardOrigin getBillboardOrigin (void) const
 Gets the point which acts as the origin point for all billboards in this set.

virtual void setDefaultDimensions (Real width, Real height)
 Sets the default dimensions of the billboards in this set.

virtual void setDefaultWidth (Real width)
 See setDefaultDimensions - this sets 1 component individually.

virtual Real getDefaultWidth (void) const
 See setDefaultDimensions - this gets 1 component individually.

virtual void setDefaultHeight (Real height)
 See setDefaultDimensions - this sets 1 component individually.

virtual Real getDefaultHeight (void) const
 See setDefaultDimensions - this gets 1 component individually.

virtual void setMaterialName (const String &name)
 Sets the name of the material to be used for this billboard set.

virtual const StringgetMaterialName (void) const
 Sets the name of the material to be used for this billboard set.

virtual void _notifyCurrentCamera (Camera *cam)
 Overridden from MovableObject.

void beginBillboards (void)
 Begin injection of billboard data; applicable when constructing the BillboardSet for external data use.

void injectBillboard (const Billboard &bb)
 Define a billboard.

void endBillboards (void)
 Finish defining billboards.

void setBounds (const AxisAlignedBox &box, Real radius)
 Set the bounds of the BillboardSet.

virtual const AxisAlignedBoxgetBoundingBox (void) const
 Overridden from MovableObject.

virtual Real getBoundingRadius (void) const
 Overridden from MovableObject.

virtual void _updateRenderQueue (RenderQueue *queue)
 Overridden from MovableObject.

virtual const MaterialPtrgetMaterial (void) const
 Overridden from MovableObject.

virtual void getRenderOperation (RenderOperation &op)
 Overridden from MovableObject.

virtual void getWorldTransforms (Matrix4 *xform) const
 Overridden from MovableObject.

const QuaterniongetWorldOrientation (void) const
 

const Vector3getWorldPosition (void) const
 

virtual void _notifyBillboardResized (void)
 Internal callback used by Billboards to notify their parent that they have been resized.

virtual void _notifyBillboardTextureCoordsModified (void)
 Notifies the billboardset that texture coordinates will be modified for this set.

virtual bool getCullIndividually (void) const
 Returns whether or not billbards in this are tested individually for culling.

virtual void setCullIndividually (bool cullIndividual)
 Sets whether culling tests billboards in this individually as well as in a group.

virtual void setBillboardType (BillboardType bbt)
 Sets the type of billboard to render.

virtual BillboardType getBillboardType (void) const
 Returns the billboard type in use.

virtual void setCommonDirection (const Vector3 &vec)
 Use this to specify the common direction given to billboards of type BBT_ORIENTED_COMMON.

virtual const Vector3getCommonDirection (void) const
 Gets the common direction for all billboards (BBT_ORIENTED_COMMON).

virtual const StringgetName (void) const
 Overridden from MovableObject.

virtual const StringgetMovableType (void) const
 Overridden from MovableObject.

Real getSquaredViewDepth (const Camera *cam) const
 Overridden, see Renderable.

virtual void _updateBounds (void)
 Update the bounds of the billboardset.

const LightListgetLights (void) const
 
Remarks:
Directional lights, which have no position, will always be first on this list.


virtual void setBillboardsInWorldSpace (bool ws)
 Sets whether billboards should be treated as being in world space.

virtual NodegetParentNode (void) const
 Returns the node to which this object is attached.

virtual SceneNodegetParentSceneNode (void) const
 Returns the scene node to which this object is attached.

virtual void _notifyAttached (Node *parent, bool isTagPoint=false)
 Internal method called to notify the object that it has been attached to a node.

virtual bool isAttached (void) const
 Returns true if this object is attached to a SceneNode or TagPoint.

virtual bool isInScene (void) const
 Returns true if this object is attached to a SceneNode or TagPoint, and this SceneNode / TagPoint is currently in an active part of the scene graph.

virtual const AxisAlignedBoxgetWorldBoundingBox (bool derive=false) const
 Retrieves the axis-aligned bounding box for this object in world coordinates.

virtual const SpheregetWorldBoundingSphere (bool derive=false) const
 Retrieves the worldspace bounding sphere for this object.

virtual void setVisible (bool visible)
 Tells this object whether to be visible or not, if it has a renderable component.

virtual bool isVisible (void) const
 Returns whether or not this object is supposed to be visible or not.

virtual void setUserObject (UserDefinedObject *obj)
 Call this to associate your own custom user object instance with this MovableObject.

virtual UserDefinedObjectgetUserObject (void)
 Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject.

virtual void setRenderQueueGroup (RenderQueueGroupID queueID)
 Sets the render queue group this entity will be rendered through.

virtual RenderQueueGroupID getRenderQueueGroup (void) const
 Gets the queue group for this entity, see setRenderQueueGroup for full details.

virtual Matrix4 _getParentNodeFullTransform (void) const
 return the full transformation of the parent sceneNode or the attachingPoint node

virtual void setQueryFlags (unsigned long flags)
 Sets the query flags for this object.

virtual void addQueryFlags (unsigned long flags)
 As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.

virtual void removeQueryFlags (unsigned long flags)
 As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.

virtual unsigned long getQueryFlags (void) const
 Returns the query flags relevant for this object.

EdgeDatagetEdgeList (void)
 Define a default implementation of method from ShadowCaster which implements no shadows.

ShadowRenderableListIterator getShadowVolumeRenderableIterator (ShadowTechnique shadowTechnique, const Light *light, HardwareIndexBufferSharedPtr *indexBuffer, bool extrudeVertices, Real extrusionDist, unsigned long flags=0)
 Define a default implementation of method from ShadowCaster which implements no shadows.

const AxisAlignedBoxgetLightCapBounds (void) const
 Overridden member from ShadowCaster.

const AxisAlignedBoxgetDarkCapBounds (const Light &light, Real dirLightExtrusionDist) const
 Overridden member from ShadowCaster.

void setCastShadows (bool enabled)
 Sets whether or not this object will cast shadows.

bool getCastShadows (void) const
 Returns whether shadow casting is enabled for this object.

Real getPointExtrusionDistance (const Light *l) const
 Get the distance to extrude for a point/spot light.

virtual TechniquegetTechnique (void) const
 Retrieves a pointer to the Material Technique this renderable object uses.

virtual unsigned short getNumWorldTransforms (void) const
 Returns the number of world transform matrices this renderable requires.

virtual bool useIdentityProjection (void) const
 Returns whether or not to use an 'identity' projection.

virtual bool useIdentityView (void) const
 Returns whether or not to use an 'identity' projection.

virtual SceneDetailLevel getRenderDetail () const
 Returns the preferred rasterisation mode of this renderable.

virtual bool getNormaliseNormals (void) const
 Returns whether or not this Renderable wishes the hardware to normalise normals.

virtual const PlaneListgetClipPlanes () const
virtual bool getCastsShadows (void) const
 Method which reports whether this renderable would normally cast a shadow.

void setCustomParameter (size_t index, const Vector4 &value)
 Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters.

const Vector4getCustomParameter (size_t index) const
 Gets the custom value associated with this Renderable at the given index.

virtual void _updateCustomGpuParameter (const GpuProgramParameters::AutoConstantEntry &constantEntry, GpuProgramParameters *params) const
 Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.

virtual void setRenderDetailOverrideable (bool override)
 Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.

virtual bool getRenderDetailOverrideable (void) const
 Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.


Static Public Member Functions

void extrudeVertices (HardwareVertexBufferSharedPtr vertexBuffer, size_t originalVertexCount, const Vector4 &lightPos, Real extrudeDist)
 Utility method for extruding vertices based on a light.


Protected Types

typedef std::list< Billboard * > ActiveBillboardList
typedef std::deque< Billboard * > FreeBillboardQueue
typedef std::vector< Billboard * > BillboardPool
typedef std::map< size_t,
Vector4
CustomParameterMap

Protected Member Functions

 BillboardSet ()
 Private constructor (instances cannot be created directly).

bool billboardVisible (Camera *cam, const Billboard &bill)
 Internal method for culling individual billboards.

virtual void increasePool (unsigned int size)
 Internal method for increasing pool size.

virtual void genBillboardAxes (Camera *cam, Vector3 *pX, Vector3 *pY, const Billboard *pBill=0)
 Internal method for generating billboard corners.

void getParametricOffsets (Real &left, Real &right, Real &top, Real &bottom)
 Internal method, generates parametric offsets based on origin.

void genVertices (const Vector3 *const offsets, const Billboard &pBillboard)
 Internal method for generating vertex data.

void genVertOffsets (Real inleft, Real inright, Real intop, Real inbottom, Real width, Real height, const Vector3 &x, const Vector3 &y, Vector3 *pDestVec)
 Internal method generates vertex offsets.

Real getExtrusionDistance (const Vector3 &objectPos, const Light *light) const
 Helper moethod for calculating extrusion distance.

virtual void updateEdgeListLightFacing (EdgeData *edgeData, const Vector4 &lightPos)
 Tells the caster to perform the tasks necessary to update the edge data's light listing.

virtual void generateShadowVolume (EdgeData *edgeData, HardwareIndexBufferSharedPtr indexBuffer, const Light *light, ShadowRenderableList &shadowRenderables, unsigned long flags)
 Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it.

virtual void extrudeBounds (AxisAlignedBox &box, const Vector4 &lightPos, Real extrudeDist) const
 Utility method for extruding a bounding box.


Protected Attributes

String mName
 Name of the entity; used for location in the scene.

AxisAlignedBox mAABB
 Bounds of all billboards in this set.

Real mBoundingRadius
 Bounding radius.

BillboardOrigin mOriginType
 Origin of each billboard.

Real mDefaultWidth
 Default width of each billboard.

Real mDefaultHeight
 Default height of each billboard.

String mMaterialName
 Name of the material to use.

MaterialPtr mpMaterial
 Pointer to the material to use.

bool mAllDefaultSize
 True if no billboards in this set have been resized - greater efficiency.

bool mAutoExtendPool
 Flag indicating whether to autoextend pool.

bool mFixedTextureCoords
bool mWorldSpace
ActiveBillboardList mActiveBillboards
 Active billboard list.

FreeBillboardQueue mFreeBillboards
 Free billboard queue.

BillboardPool mBillboardPool
 Pool of billboard instances for use and reuse in the active billboard list.

VertexDatamVertexData
 The vertex position data for all billboards in this set.

HardwareVertexBufferSharedPtr mMainBuf
 Shortcut to main buffer (positions, colours, texture coords).

float * mLockPtr
 Locked pointer to buffer.

Vector3 mVOffset [4]
 Boundary offsets based on origin and camera orientation Vector3 vLeftOff, vRightOff, vTopOff, vBottomOff; Final vertex offsets, used where sizes all default to save calcs.

CameramCurrentCamera
 Current camera.

Real mLeftOff
Real mRightOff
Real mTopOff
Real mBottomOff
Vector3 mCamX
Vector3 mCamY
IndexDatamIndexData
 The vertex index data for all billboards in this set (1 set only).

bool mCullIndividual
 Flag indicating whether each billboard should be culled separately (default: false).

BillboardType mBillboardType
 The type of billboard to render.

Vector3 mCommonDirection
 Common direction for billboards of type BBT_ORIENTED_COMMON.

unsigned short mNumVisibleBillboards
NodemParentNode
 node to which this object is attached

bool mParentIsTagPoint
bool mVisible
 Is this object visible?

UserDefinedObjectmUserObject
 User defined object which is linked to this object.

RenderQueueGroupID mRenderQueueID
 The render queue to use when rendering this object.

bool mRenderQueueIDSet
 Flags whether the RenderQueue's default should be used.

unsigned long mQueryFlags
 Flags determining whether this object is included / excluded from scene queries.

AxisAlignedBox mWorldAABB
 Cached world AABB of this object.

Sphere mWorldBoundingSphere
AxisAlignedBox mWorldDarkCapBounds
 World space AABB of this object's dark cap.

bool mCastShadows
 Does this object cast shadows?

CustomParameterMap mCustomParameters
bool mRenderDetailOverrideable

Static Protected Attributes

String msMovableType
 Shared class-level name for Movable type.

const PlaneList msDummyPlaneList

Private Member Functions

void _createBuffers (void)
 Internal method creates vertex and index buffers.


Private Attributes

bool mBuffersCreated
 Flag indicating whether the HW buffers have been created.

unsigned int mPoolSize
 The number of billboard in the pool.

bool mExternalData
 Is external billboard data in use?


Detailed Description

A collection of billboards (faces which are always facing the camera) with the same (default) dimensions, material and which are fairly close proximity to each other.

Remarks:
Billboards are rectangles made up of 2 tris which are always facing the camera. They are typically used for special effects like particles. This class collects together a set of billboards with the same (default) dimensions, material and relative locality in order to process them more efficiently. The entire set of billboards will be culled as a whole (by default, although this can be changed if you want a large set of billboards which are spread out and you want them culled individually), individual Billboards have locations which are relative to the set (which itself derives it's position from the SceneNode it is attached to since it is a MoveableObject), they will be rendered as a single rendering operation, and some calculations will be sped up by the fact that they use the same dimensions so some workings can be reused.
A BillboardSet can be created using the SceneManager::createBillboardSet method. They can also be used internally by other classes to create effects.
Note:
Billboard bounds are only automatically calculated when you create them. If you modify the position of a billboard you may need to call _updateBounds if the billboard moves outside the original bounds. Similarly, the bounds do no shrink when you remove a billboard, if you want them to call _updateBounds, but note this requires a potentially expensive examination of every billboard in the set.

Definition at line 86 of file OgreBillboardSet.h.


Member Typedef Documentation

typedef std::list<Billboard*> Ogre::BillboardSet::ActiveBillboardList [protected]
 

Definition at line 123 of file OgreBillboardSet.h.

typedef std::vector<Billboard*> Ogre::BillboardSet::BillboardPool [protected]
 

Definition at line 125 of file OgreBillboardSet.h.

typedef std::map<size_t, Vector4> Ogre::Renderable::CustomParameterMap [protected, inherited]
 

Definition at line 251 of file OgreRenderable.h.

typedef std::deque<Billboard*> Ogre::BillboardSet::FreeBillboardQueue [protected]
 

Definition at line 124 of file OgreBillboardSet.h.

typedef std::vector<ShadowRenderable*> Ogre::ShadowCaster::ShadowRenderableList [inherited]
 

Definition at line 121 of file OgreShadowCaster.h.

typedef VectorIterator<ShadowRenderableList> Ogre::ShadowCaster::ShadowRenderableListIterator [inherited]
 

Definition at line 122 of file OgreShadowCaster.h.


Constructor & Destructor Documentation

Ogre::BillboardSet::BillboardSet  )  [protected]
 

Private constructor (instances cannot be created directly).

Ogre::BillboardSet::BillboardSet const String name,
unsigned int  poolSize = 20,
bool  externalDataSource = false
 

Usual constructor - this is called by the SceneManager.

Parameters:
name The name to give the billboard set (must be unique)
poolSize The initial size of the billboard pool. Estimate of the number of billboards which will be required, and pass it using this parameter. The set will preallocate this number to avoid memory fragmentation. The default behaviour once this pool has run out is to double it.
externalDataSource If true, the source of data for drawing the billboards will not be the internal billboard list, but external data. When driving thebillboard from external data, you must call _notifyCurrentCamera to reorient the billboards, setPoolSize to set the maximum billboards you want to use, beginBillboards to start the update, and injectBillboard per billboard, followed by endBillboards.
See also:
BillboardSet::setAutoextend

virtual Ogre::BillboardSet::~BillboardSet  )  [virtual]
 


Member Function Documentation

void Ogre::BillboardSet::_createBuffers void   )  [private]
 

Internal method creates vertex and index buffers.

virtual Matrix4 Ogre::MovableObject::_getParentNodeFullTransform void   )  const [virtual, inherited]
 

return the full transformation of the parent sceneNode or the attachingPoint node

virtual void Ogre::MovableObject::_notifyAttached Node parent,
bool  isTagPoint = false
[virtual, inherited]
 

Internal method called to notify the object that it has been attached to a node.

Reimplemented in Ogre::Entity, and Ogre::ParticleSystem.

virtual void Ogre::BillboardSet::_notifyBillboardResized void   )  [virtual]
 

Internal callback used by Billboards to notify their parent that they have been resized.

virtual void Ogre::BillboardSet::_notifyBillboardTextureCoordsModified void   )  [virtual]
 

Notifies the billboardset that texture coordinates will be modified for this set.

Definition at line 507 of file OgreBillboardSet.h.

virtual void Ogre::BillboardSet::_notifyCurrentCamera Camera cam  )  [virtual]
 

Overridden from MovableObject.

See also:
MovableObject

Implements Ogre::MovableObject.

virtual void Ogre::BillboardSet::_updateBounds void   )  [virtual]
 

Update the bounds of the billboardset.

virtual void Ogre::Renderable::_updateCustomGpuParameter const GpuProgramParameters::AutoConstantEntry constantEntry,
GpuProgramParameters params
const [virtual, inherited]
 

Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.

Remarks:
This method allows a Renderable to map in a custom GPU program parameter based on it's own data. This is represented by a GPU auto parameter of ACT_CUSTOM, and to allow there to be more than one of these per Renderable, the 'data' field on the auto parameter will identify which parameter is being updated. The implementation of this method must identify the parameter being updated, and call a 'setConstant' method on the passed in GpuProgramParameters object, using the details provided in the incoming auto constant setting to identify the index at which to set the parameter.
You do not need to override this method if you're using the standard sets of data associated with the Renderable as provided by setCustomParameter and getCustomParameter. By default, the implementation will map from the value indexed by the 'constantEntry.data' parameter to a value previously set by setCustomParameter. But custom Renderables are free to override this if they want, in any case.
Parameters:
constantEntry The auto constant entry referring to the parameter being updated
params The parameters object which this method should call to set the updated parameters.

Reimplemented in Ogre::TerrainRenderable.

Definition at line 219 of file OgreRenderable.h.

References Ogre::GpuProgramParameters::AutoConstantEntry::data, Ogre::GpuProgramParameters::AutoConstantEntry::index, and params.

virtual void Ogre::BillboardSet::_updateRenderQueue RenderQueue queue  )  [virtual]
 

Overridden from MovableObject.

See also:
MovableObject

Implements Ogre::MovableObject.

virtual void Ogre::MovableObject::addQueryFlags unsigned long  flags  )  [virtual, inherited]
 

As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.

Definition at line 203 of file OgreMovableObject.h.

void Ogre::BillboardSet::beginBillboards void   ) 
 

Begin injection of billboard data; applicable when constructing the BillboardSet for external data use.

bool Ogre::BillboardSet::billboardVisible Camera cam,
const Billboard bill
[protected]
 

Internal method for culling individual billboards.

virtual void Ogre::BillboardSet::clear  )  [virtual]
 

Empties this set of all billboards.

Billboard* Ogre::BillboardSet::createBillboard Real  x,
Real  y,
Real  z,
const ColourValue colour = ColourValue::White
 

Creates a new billboard and adds it to this set.

Remarks:
Behaviour once the billboard pool has been exhausted depends on the BillboardSet::setAutoextendPool option.
Parameters:
x 
y 
z The position of the new billboard realtive to the certer of the set
colour Optional base colour of the billboard.
Returns:
On success, a pointer to a newly created Billboard is returned.
On failiure (i.e. no more space and can't autoextend), NULL is returned.
See also:
BillboardSet::setAutoextend

Billboard* Ogre::BillboardSet::createBillboard const Vector3 position,
const ColourValue colour = ColourValue::White
 

Creates a new billboard and adds it to this set.

Remarks:
Behaviour once the billboard pool has been exhausted depends on the BillboardSet::setAutoextendPool option.
Parameters:
position The position of the new billboard realtive to the certer of the set
colour Optional base colour of the billboard.
Returns:
On success, a pointer to a newly created Billboard is returned.
On failiure (i.e. no more space and can't autoextend), NULL is returned.
See also:
BillboardSet::setAutoextend

void Ogre::BillboardSet::endBillboards void   ) 
 

Finish defining billboards.

virtual void Ogre::ShadowCaster::extrudeBounds AxisAlignedBox box,
const Vector4 lightPos,
Real  extrudeDist
const [protected, virtual, inherited]
 

Utility method for extruding a bounding box.

Parameters:
box Original bounding box, will be updated in-place
lightPos 4D light position in object space, when w=0.0f this represents a directional light
extrudeDist The distance to extrude

void Ogre::ShadowCaster::extrudeVertices HardwareVertexBufferSharedPtr  vertexBuffer,
size_t  originalVertexCount,
const Vector4 lightPos,
Real  extrudeDist
[static, inherited]
 

Utility method for extruding vertices based on a light.

Remarks:
Unfortunately, because D3D cannot handle homogenous (4D) position coordinates in the fixed-function pipeline (GL can, but we have to be cross-API), when we extrude in software we cannot extrude to infinity the way we do in the vertex program (by setting w to 0.0f). Therefore we extrude by a fixed distance, which may cause some problems with larger scenes. Luckily better hardware (ie vertex programs) can fix this.
Parameters:
vertexBuffer The vertex buffer containing ONLY xyz position values, which must be originalVertexCount * 2 * 3 floats long.
originalVertexCount The count of the original number of vertices, ie the number in the mesh, not counting the doubling which has already been done (by VertexData::prepareForShadowVolume) to provide the extruded area of the buffer.
lightPos 4D light position in object space, when w=0.0f this represents a directional light
extrudeDist The distance to extrude

virtual void Ogre::BillboardSet::genBillboardAxes Camera cam,
Vector3 pX,
Vector3 pY,
const Billboard pBill = 0
[protected, virtual]
 

Internal method for generating billboard corners.

Remarks:
Optional parameter pBill is only present for type BBT_ORIENTED_SELF

virtual void Ogre::ShadowCaster::generateShadowVolume EdgeData edgeData,
HardwareIndexBufferSharedPtr  indexBuffer,
const Light light,
ShadowRenderableList shadowRenderables,
unsigned long  flags
[protected, virtual, inherited]
 

Generates the indexes required to render a shadow volume into the index buffer which is passed in, and updates shadow renderables to use it.

Parameters:
edgeData The edge information to use
indexBuffer The buffer into which to write data into; current contents are assumed to be discardable.
light The light, mainly for type info as silhouette calculations should already have been done in updateEdgeListLightFacing
shadowRenderables A list of shadow renderables which has already been constructed but will need populating with details of the index ranges to be used.
flags Additional controller flags, see ShadowRenderableFlags

void Ogre::BillboardSet::genVertices const Vector3 *const  offsets,
const Billboard pBillboard
[protected]
 

Internal method for generating vertex data.

Parameters:
offsets Array of 4 Vector3 offsets
bb Referenceto billboard

void Ogre::BillboardSet::genVertOffsets Real  inleft,
Real  inright,
Real  intop,
Real  inbottom,
Real  width,
Real  height,
const Vector3 x,
const Vector3 y,
Vector3 pDestVec
[protected]
 

Internal method generates vertex offsets.

Remarks:
Takes in parametric offsets as generated from getParametericOffsets, width and height values and billboard x and y axes as generated from genBillboardAxes. Fills output array of 4 vectors with vector offsets from origin for left-top, right-top, left-bottom, right-bottom corners.

virtual bool Ogre::BillboardSet::getAutoextend void   )  const [virtual]
 

Returns true if the billboard pool automatically extends.

See also:
BillboardSet::setAutoextend

virtual Billboard* Ogre::BillboardSet::getBillboard unsigned int  index  )  const [virtual]
 

Returns a pointer to the billboard at the supplied index.

Note:
This method requires linear time since the billboard list is a linked list.
Parameters:
index The index of the billboard that is requested.
Returns:
On success, a valid pointer to the requested billboard is returned.
On failiure, NULL is returned.

virtual BillboardOrigin Ogre::BillboardSet::getBillboardOrigin void   )  const [virtual]
 

Gets the point which acts as the origin point for all billboards in this set.

Returns:
A member of the BillboardOrigin enum specifying the origin for all the billboards in this set.

virtual BillboardType Ogre::BillboardSet::getBillboardType void   )  const [virtual]
 

Returns the billboard type in use.

virtual const AxisAlignedBox& Ogre::BillboardSet::getBoundingBox void   )  const [virtual]
 

Overridden from MovableObject.

See also:
MovableObject

Implements Ogre::MovableObject.

virtual Real Ogre::BillboardSet::getBoundingRadius void   )  const [virtual]
 

Overridden from MovableObject.

See also:
MovableObject

Implements Ogre::MovableObject.

bool Ogre::MovableObject::getCastShadows void   )  const [virtual, inherited]
 

Returns whether shadow casting is enabled for this object.

Implements Ogre::ShadowCaster.

Definition at line 238 of file OgreMovableObject.h.

virtual bool Ogre::Renderable::getCastsShadows void   )  const [virtual, inherited]
 

Method which reports whether this renderable would normally cast a shadow.

Remarks:
Subclasses should override this if they could have been used to generate a shadow.

Reimplemented in Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.

Definition at line 154 of file OgreRenderable.h.

virtual const PlaneList& Ogre::Renderable::getClipPlanes  )  const [virtual, inherited]
 

Definition at line 146 of file OgreRenderable.h.

References Ogre::PlaneList.

virtual const Vector3& Ogre::BillboardSet::getCommonDirection void   )  const [virtual]
 

Gets the common direction for all billboards (BBT_ORIENTED_COMMON).

virtual bool Ogre::BillboardSet::getCullIndividually void   )  const [virtual]
 

Returns whether or not billbards in this are tested individually for culling.

const Vector4& Ogre::Renderable::getCustomParameter size_t  index  )  const [inherited]
 

Gets the custom value associated with this Renderable at the given index.

Parameters:
@see setCustomParaemter for full details.

Definition at line 180 of file OgreRenderable.h.

References OGRE_EXCEPT.

const AxisAlignedBox& Ogre::MovableObject::getDarkCapBounds const Light light,
Real  dirLightExtrusionDist
const [virtual, inherited]
 

Overridden member from ShadowCaster.

Implements Ogre::ShadowCaster.

virtual Real Ogre::BillboardSet::getDefaultHeight void   )  const [virtual]
 

See setDefaultDimensions - this gets 1 component individually.

virtual Real Ogre::BillboardSet::getDefaultWidth void   )  const [virtual]
 

See setDefaultDimensions - this gets 1 component individually.

EdgeData* Ogre::MovableObject::getEdgeList void   )  [virtual, inherited]
 

Define a default implementation of method from ShadowCaster which implements no shadows.

Implements Ogre::ShadowCaster.

Reimplemented in Ogre::Entity, and Ogre::StaticGeometry::Region.

Definition at line 213 of file OgreMovableObject.h.

Real Ogre::ShadowCaster::getExtrusionDistance const Vector3 objectPos,
const Light light
const [protected, inherited]
 

Helper moethod for calculating extrusion distance.

const AxisAlignedBox& Ogre::MovableObject::getLightCapBounds void   )  const [virtual, inherited]
 

Overridden member from ShadowCaster.

Implements Ogre::ShadowCaster.

const LightList& Ogre::BillboardSet::getLights void   )  const [virtual]
 

Remarks:
Directional lights, which have no position, will always be first on this list.

Implements Ogre::Renderable.

virtual const MaterialPtr& Ogre::BillboardSet::getMaterial void   )  const [virtual]
 

Overridden from MovableObject.

See also:
MovableObject

Implements Ogre::Renderable.

virtual const String& Ogre::BillboardSet::getMaterialName void   )  const [virtual]
 

Sets the name of the material to be used for this billboard set.

Returns:
The name of the material that is used for this set.

virtual const String& Ogre::BillboardSet::getMovableType void   )  const [virtual]
 

Overridden from MovableObject.

Implements Ogre::MovableObject.

virtual const String& Ogre::BillboardSet::getName void   )  const [virtual]
 

Overridden from MovableObject.

Implements Ogre::MovableObject.

virtual bool Ogre::Renderable::getNormaliseNormals void   )  const [virtual, inherited]
 

Returns whether or not this Renderable wishes the hardware to normalise normals.

Reimplemented in Ogre::SubEntity.

Definition at line 138 of file OgreRenderable.h.

virtual int Ogre::BillboardSet::getNumBillboards void   )  const [virtual]
 

Returns the number of active billboards which currently make up this set.

virtual unsigned short Ogre::Renderable::getNumWorldTransforms void   )  const [virtual, inherited]
 

Returns the number of world transform matrices this renderable requires.

Remarks:
When a renderable uses vertex blending, it uses multiple world matrices instead of a single one. Each vertex sent to the pipeline can reference one or more matrices in this list with given weights. If a renderable does not use vertex blending this method returns 1, which is the default for simplicity.

Reimplemented in Ogre::BorderRenderable, and Ogre::SubEntity.

Definition at line 104 of file OgreRenderable.h.

void Ogre::BillboardSet::getParametricOffsets Real left,
Real right,
Real top,
Real bottom
[protected]
 

Internal method, generates parametric offsets based on origin.

virtual Node* Ogre::MovableObject::getParentNode void   )  const [virtual, inherited]
 

Returns the node to which this object is attached.

Remarks:
A MovableObject may be attached to either a SceneNode or to a TagPoint, the latter case if it's attached to a bone on an animated entity. Both are Node subclasses so this method will return either.

virtual SceneNode* Ogre::MovableObject::getParentSceneNode void   )  const [virtual, inherited]
 

Returns the scene node to which this object is attached.

Remarks:
A MovableObject may be attached to either a SceneNode or to a TagPoint, the latter case if it's attached to a bone on an animated entity. This method will return the scene node of the parent entity if the latter is true.

Real Ogre::MovableObject::getPointExtrusionDistance const Light l  )  const [virtual, inherited]
 

Get the distance to extrude for a point/spot light.

Implements Ogre::ShadowCaster.

virtual unsigned int Ogre::BillboardSet::getPoolSize void   )  const [virtual]
 

Returns the current size of the billboard pool.

Returns:
The current size of the billboard pool.
See also:
BillboardSet::setAutoextend

virtual unsigned long Ogre::MovableObject::getQueryFlags void   )  const [virtual, inherited]
 

Returns the query flags relevant for this object.

Definition at line 210 of file OgreMovableObject.h.

virtual SceneDetailLevel Ogre::Renderable::getRenderDetail  )  const [virtual, inherited]
 

Returns the preferred rasterisation mode of this renderable.

Reimplemented in Ogre::SubEntity.

Definition at line 135 of file OgreRenderable.h.

References Ogre::SceneDetailLevel, and Ogre::SDL_SOLID.

virtual bool Ogre::Renderable::getRenderDetailOverrideable void   )  const [virtual, inherited]
 

Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.

Reimplemented in Ogre::BorderRenderable.

Definition at line 243 of file OgreRenderable.h.

virtual void Ogre::BillboardSet::getRenderOperation RenderOperation op  )  [virtual]
 

Overridden from MovableObject.

See also:
MovableObject

Implements Ogre::Renderable.

virtual RenderQueueGroupID Ogre::MovableObject::getRenderQueueGroup void   )  const [virtual, inherited]
 

Gets the queue group for this entity, see setRenderQueueGroup for full details.

ShadowRenderableListIterator Ogre::MovableObject::getShadowVolumeRenderableIterator ShadowTechnique  shadowTechnique,
const Light light,
HardwareIndexBufferSharedPtr indexBuffer,
bool  extrudeVertices,
Real  extrusionDist,
unsigned long  flags = 0
[virtual, inherited]
 

Define a default implementation of method from ShadowCaster which implements no shadows.

Implements Ogre::ShadowCaster.

Reimplemented in Ogre::Entity, and Ogre::StaticGeometry::Region.

Real Ogre::BillboardSet::getSquaredViewDepth const Camera cam  )  const [virtual]
 

Overridden, see Renderable.

Implements Ogre::Renderable.

virtual Technique* Ogre::Renderable::getTechnique void   )  const [virtual, inherited]
 

Retrieves a pointer to the Material Technique this renderable object uses.

Remarks:
This is to allow Renderables to use a chosen Technique if they wish, otherwise they will use the best Technique available for the Material they are using.

Reimplemented in Ogre::StaticGeometry::GeometryBucket, and Ogre::SubEntity.

Definition at line 69 of file OgreRenderable.h.

virtual UserDefinedObject* Ogre::MovableObject::getUserObject void   )  [virtual, inherited]
 

Retrieves a pointer to a custom application object associated with this movable by an earlier call to setUserObject.

Definition at line 171 of file OgreMovableObject.h.

virtual const AxisAlignedBox& Ogre::MovableObject::getWorldBoundingBox bool  derive = false  )  const [virtual, inherited]
 

Retrieves the axis-aligned bounding box for this object in world coordinates.

Implements Ogre::ShadowCaster.

Reimplemented in Ogre::Entity.

virtual const Sphere& Ogre::MovableObject::getWorldBoundingSphere bool  derive = false  )  const [virtual, inherited]
 

Retrieves the worldspace bounding sphere for this object.

Reimplemented in Ogre::Entity.

const Quaternion& Ogre::BillboardSet::getWorldOrientation void   )  const [virtual]
 

Implements Ogre::Renderable.

const Vector3& Ogre::BillboardSet::getWorldPosition void   )  const [virtual]
 

Implements Ogre::Renderable.

virtual void Ogre::BillboardSet::getWorldTransforms Matrix4 xform  )  const [virtual]
 

Overridden from MovableObject.

See also:
MovableObject

Implements Ogre::Renderable.

virtual void Ogre::BillboardSet::increasePool unsigned int  size  )  [protected, virtual]
 

Internal method for increasing pool size.

void Ogre::BillboardSet::injectBillboard const Billboard bb  ) 
 

Define a billboard.

virtual bool Ogre::MovableObject::isAttached void   )  const [virtual, inherited]
 

Returns true if this object is attached to a SceneNode or TagPoint.

virtual bool Ogre::MovableObject::isInScene void   )  const [virtual, inherited]
 

Returns true if this object is attached to a SceneNode or TagPoint, and this SceneNode / TagPoint is currently in an active part of the scene graph.

virtual bool Ogre::MovableObject::isVisible void   )  const [virtual, inherited]
 

Returns whether or not this object is supposed to be visible or not.

Reimplemented in Ogre::StaticGeometry::Region.

virtual void Ogre::BillboardSet::removeBillboard Billboard pBill  )  [virtual]
 

Removes a billboard from the set.

Note:
This version is more efficient than removing by index.

virtual void Ogre::BillboardSet::removeBillboard unsigned int  index  )  [virtual]
 

Removes the billboard at the supplied index.

Note:
This method requires linear time since the billboard list is a linked list.

virtual void Ogre::MovableObject::removeQueryFlags unsigned long  flags  )  [virtual, inherited]
 

As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.

Definition at line 207 of file OgreMovableObject.h.

virtual void Ogre::BillboardSet::setAutoextend bool  autoextend  )  [virtual]
 

Tells the set whether to allow automatic extension of the pool of billboards.

Remarks:
A BillboardSet stores a pool of pre-constructed billboards which are used as needed when a new billboard is requested. This allows applications to create / remove billboards efficiently without incurring construction / destruction costs (a must for sets with lots of billboards like particle effects). This method allows you to configure the behaviour when a new billboard is requested but the billboard pool has been exhausted.
The default behaviour is to allow the pool to extend (typically this allocates double the current pool of billboards when the pool is expended), equivalent to calling this method with autoExtend = true. If you set the parameter to false however, any attempt to create a new billboard when the pool has expired will simply fail silently, returning a null pointer.
Parameters:
autoextend true to double the pool every time it runs out, false to fail silently.

virtual void Ogre::BillboardSet::setBillboardOrigin BillboardOrigin  origin  )  [virtual]
 

Sets the point which acts as the origin point for all billboards in this set.

Remarks:
This setting controls the fine tuning of where a billboard appears in relation to it's position. It could be that a billboard's position represents it's center (e.g. for fireballs), it could mean the center of the bottom edge (e.g. a tree which is positioned on the ground), the top-left corner (e.g. a cursor).
The default setting is BBO_CENTER.
Parameters:
origin A member of the BillboardOrigin enum specifying the origin for all the billboards in this set.

virtual void Ogre::BillboardSet::setBillboardsInWorldSpace bool  ws  )  [virtual]
 

Sets whether billboards should be treated as being in world space.

Remarks:
This is most useful when you are driving the billboard set from an external data source.

Definition at line 580 of file OgreBillboardSet.h.

virtual void Ogre::BillboardSet::setBillboardType BillboardType  bbt  )  [virtual]
 

Sets the type of billboard to render.

Remarks:
The default sort of billboard (BBT_POINT), always has both x and y axes parallel to the camera's local axes. This is fine for 'point' style billboards (e.g. flares, smoke, anything which is symmetrical about a central point) but does not look good for billboards which have an orientation (e.g. an elongated raindrop). In this case, the oriented billboards are more suitable (BBT_ORIENTED_COMMON or BBT_ORIENTED_SELF) since they retain an independant Y axis and only the X axis is generated, perpendicular to both the local Y and the camera Z.
Parameters:
bbt The type of billboard to render

void Ogre::BillboardSet::setBounds const AxisAlignedBox box,
Real  radius
 

Set the bounds of the BillboardSet.

Remarks:
You may need to call this if you're injecting billboards manually, and you're relying on the BillboardSet to determine culling.

void Ogre::MovableObject::setCastShadows bool  enabled  )  [inherited]
 

Sets whether or not this object will cast shadows.

Remarks:
This setting simply allows you to turn on/off shadows for a given object. An object will not cast shadows unless the scene supports it in any case (see SceneManager::setShadowTechnique), and also the material which is in use must also have shadow casting enabled. By default all entities cast shadows. If, however, for some reason you wish to disable this for a single object then you can do so using this method.
Note:
This method normally refers to objects which block the light, but since Light is also a subclass of MovableObject, in that context it means whether the light causes shadows itself.

Definition at line 236 of file OgreMovableObject.h.

virtual void Ogre::BillboardSet::setCommonDirection const Vector3 vec  )  [virtual]
 

Use this to specify the common direction given to billboards of type BBT_ORIENTED_COMMON.

Remarks:
Use BBT_ORIENTED_COMMON when you want oriented billboards but you know they are always going to be oriented the same way (e.g. rain in calm weather). It is faster for the system to calculate the billboard vertices if they have a common direction.
Parameters:
vec The direction for all billboards.

virtual void Ogre::BillboardSet::setCullIndividually bool  cullIndividual  )  [virtual]
 

Sets whether culling tests billboards in this individually as well as in a group.

Remarks:
Billboard sets are always culled as a whole group, based on a bounding box which encloses all billboards in the set. For fairly localised sets, this is enough. However, you can optionally tell the set to also cull individual billboards in the set, i.e. to test each individual billboard before rendering. The default is not to do this.
This is useful when you have a large, fairly distributed set of billboards, like maybe trees on a landscape. You probably still want to group them into more than one set (maybe one set per section of landscape), which will be culled coarsely, but you also want to cull the billboards individually because they are spread out. Whilst you could have lots of single-tree sets which are culled separately, this would be inefficient to render because each tree would be issued as it's own rendering operation.
By calling this method with a parameter of true, you can have large billboard sets which are spaced out and so get the benefit of batch rendering and coarse culling, but also have fine-grained culling so unnecessary rendering is avoided.
Parameters:
cullIndividual If true, each billboard is tested before being sent to the pipeline as well as the whole set having to pass the coarse group bounding test.

void Ogre::Renderable::setCustomParameter size_t  index,
const Vector4 value
[inherited]
 

Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program parameters.

Remarks:
Calling this method simply associates a numeric index with a 4-dimensional value for this specific Renderable. This is most useful if the material which this Renderable uses a vertex or fragment program, and has an ACT_CUSTOM parameter entry. This parameter entry can refer to the index you specify as part of this call, thereby mapping a custom parameter for this renderable to a program parameter.
Parameters:
index The index with which to associate the value. Note that this does not have to start at 0, and can include gaps. It also has no direct correlation with a GPU program parameter index - the mapping between the two is performed by the ACT_CUSTOM entry, if that is used.
value The value to associate.

Definition at line 171 of file OgreRenderable.h.

virtual void Ogre::BillboardSet::setDefaultDimensions Real  width,
Real  height
[virtual]
 

Sets the default dimensions of the billboards in this set.

Remarks:
All billboards in a set are created with these default dimensions. The set will render most efficiently if all the billboards in the set are the default size. It is possible to alter the size of individual billboards at the expense of extra calculation. See the Billboard class for more info.
Parameters:
width The new default width for the billboards in this set.
height The new default height for the billboards in this set.

virtual void Ogre::BillboardSet::setDefaultHeight Real  height  )  [virtual]
 

See setDefaultDimensions - this sets 1 component individually.

virtual void Ogre::BillboardSet::setDefaultWidth Real  width  )  [virtual]
 

See setDefaultDimensions - this sets 1 component individually.

virtual void Ogre::BillboardSet::setMaterialName const String name  )  [virtual]
 

Sets the name of the material to be used for this billboard set.

Parameters:
name The new name of the material to use for this set.

virtual void Ogre::BillboardSet::setPoolSize unsigned int  size  )  [virtual]
 

Adjusts the size of the pool of billboards available in this set.

Remarks:
See the BillboardSet::setAutoextend method for full details of the billboard pool. This method adjusts the preallocated size of the pool. If you try to reduce the size of the pool, the set has the option of ignoring you if too many billboards are already in use. Bear in mind that calling this method will incur significant construction / destruction calls so should be avoided in time-critical code. The same goes for auto-extension, try to avoid it by estimating the pool size correctly up-front.
Parameters:
size The new size for the pool.

virtual void Ogre::MovableObject::setQueryFlags unsigned long  flags  )  [virtual, inherited]
 

Sets the query flags for this object.

Remarks:
When performing a scene query, this object will be included or excluded according to flags on the object and flags on the query. This is a bitwise value, so only when a bit on these flags is set, will it be included in a query asking for that flag. The meaning of the bits is application-specific.

Definition at line 199 of file OgreMovableObject.h.

virtual void Ogre::Renderable::setRenderDetailOverrideable bool  override  )  [virtual, inherited]
 

Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.

Parameters:
override true means that a lower camera detail will override this renderables detail level, false means it won't.

Definition at line 235 of file OgreRenderable.h.

virtual void Ogre::MovableObject::setRenderQueueGroup RenderQueueGroupID  queueID  )  [virtual, inherited]
 

Sets the render queue group this entity will be rendered through.

Remarks:
Render queues are grouped to allow you to more tightly control the ordering of rendered objects. If you do not call this method, all Entity objects default to the default queue (RenderQueue::getDefaultQueueGroup), which is fine for most objects. You may want to alter this if you want this entity to always appear in front of other objects, e.g. for a 3D menu system or such.
See RenderQueue for more details.
Parameters:
queueID Enumerated value of the queue group to use.

Reimplemented in Ogre::Entity, and Ogre::ParticleSystem.

virtual void Ogre::MovableObject::setUserObject UserDefinedObject obj  )  [virtual, inherited]
 

Call this to associate your own custom user object instance with this MovableObject.

Remarks:
By simply making your game / application object a subclass of UserDefinedObject, you can establish a link between an OGRE instance of MovableObject and your own application classes. Call this method to establish the link.

Definition at line 167 of file OgreMovableObject.h.

virtual void Ogre::MovableObject::setVisible bool  visible  )  [virtual, inherited]
 

Tells this object whether to be visible or not, if it has a renderable component.

Note:
An alternative approach of making an object invisible is to detach it from it's SceneNode, or to remove the SceneNode entirely. Detaching a node means that structurally the scene graph changes. Once this change has taken place, the objects / nodes that have been removed have less overhead to the visbility detection pass than simply making the object invisible, so if you do this and leave the objects out of the tree for a long time, it's faster. However, the act of detaching / reattaching nodes is in itself more expensive than setting an object visibility flag, since in the latter case structural changes are not made. Therefore, small or frequent visbility changes are best done using this method; large or more longer term changes are best done by detaching.

Reimplemented in Ogre::Light.

virtual void Ogre::ShadowCaster::updateEdgeListLightFacing EdgeData edgeData,
const Vector4 lightPos
[protected, virtual, inherited]
 

Tells the caster to perform the tasks necessary to update the edge data's light listing.

Can be overridden if the subclass needs to do additional things.

Parameters:
edgeData The edge information to update
lightPos 4D vector representing the light, a directional light has w=0.0

virtual bool Ogre::Renderable::useIdentityProjection void   )  const [virtual, inherited]
 

Returns whether or not to use an 'identity' projection.

Remarks:
Usually Renderable objects will use a projection matrix as determined by the active camera. However, if they want they can cancel this out and use an identity projection, which effectively projects in 2D using a {-1, 1} view space. Useful for overlay rendering. Normal renderables need not override this.

Reimplemented in Ogre::BorderRenderable, Ogre::OverlayElement, and Ogre::Rectangle2D.

Definition at line 114 of file OgreRenderable.h.

virtual bool Ogre::Renderable::useIdentityView void   )  const [virtual, inherited]
 

Returns whether or not to use an 'identity' projection.

Remarks:
Usually Renderable objects will use a view matrix as determined by the active camera. However, if they want they can cancel this out and use an identity matrix, which means all geometry is assumed to be relative to camera space already. Useful for overlay rendering. Normal renderables need not override this.

Reimplemented in Ogre::BorderRenderable, Ogre::OverlayElement, and Ogre::Rectangle2D.

Definition at line 124 of file OgreRenderable.h.


Member Data Documentation

AxisAlignedBox Ogre::BillboardSet::mAABB [protected]
 

Bounds of all billboards in this set.

Definition at line 97 of file OgreBillboardSet.h.

ActiveBillboardList Ogre::BillboardSet::mActiveBillboards [protected]
 

Active billboard list.

Remarks:
This is a linked list of pointers to billboards in the billboard pool.
This allows very fast instertions and deletions from anywhere in the list to activate / deactivate billboards (required for particle systems etc) as well as resuse of Billboard instances in the pool without construction & destruction which avoids memory thrashing.

Definition at line 135 of file OgreBillboardSet.h.

bool Ogre::BillboardSet::mAllDefaultSize [protected]
 

True if no billboards in this set have been resized - greater efficiency.

Definition at line 115 of file OgreBillboardSet.h.

bool Ogre::BillboardSet::mAutoExtendPool [protected]
 

Flag indicating whether to autoextend pool.

Definition at line 118 of file OgreBillboardSet.h.

BillboardPool Ogre::BillboardSet::mBillboardPool [protected]
 

Pool of billboard instances for use and reuse in the active billboard list.

Remarks:
This vector will be preallocated with the estimated size of the set,and will extend as required.

Definition at line 150 of file OgreBillboardSet.h.

BillboardType Ogre::BillboardSet::mBillboardType [protected]
 

The type of billboard to render.

Definition at line 178 of file OgreBillboardSet.h.

Real Ogre::BillboardSet::mBottomOff [protected]
 

Definition at line 166 of file OgreBillboardSet.h.

Real Ogre::BillboardSet::mBoundingRadius [protected]
 

Bounding radius.

Definition at line 99 of file OgreBillboardSet.h.

bool Ogre::BillboardSet::mBuffersCreated [private]
 

Flag indicating whether the HW buffers have been created.

Definition at line 231 of file OgreBillboardSet.h.

Vector3 Ogre::BillboardSet::mCamX [protected]
 

Definition at line 168 of file OgreBillboardSet.h.

Vector3 Ogre::BillboardSet::mCamY [protected]
 

Definition at line 168 of file OgreBillboardSet.h.

bool Ogre::MovableObject::mCastShadows [protected, inherited]
 

Does this object cast shadows?

Definition at line 67 of file OgreMovableObject.h.

Vector3 Ogre::BillboardSet::mCommonDirection [protected]
 

Common direction for billboards of type BBT_ORIENTED_COMMON.

Definition at line 181 of file OgreBillboardSet.h.

bool Ogre::BillboardSet::mCullIndividual [protected]
 

Flag indicating whether each billboard should be culled separately (default: false).

Definition at line 175 of file OgreBillboardSet.h.

Camera* Ogre::BillboardSet::mCurrentCamera [protected]
 

Current camera.

Definition at line 164 of file OgreBillboardSet.h.

CustomParameterMap Ogre::Renderable::mCustomParameters [protected, inherited]
 

Definition at line 252 of file OgreRenderable.h.

Real Ogre::BillboardSet::mDefaultHeight [protected]
 

Default height of each billboard.

Definition at line 107 of file OgreBillboardSet.h.

Real Ogre::BillboardSet::mDefaultWidth [protected]
 

Default width of each billboard.

Definition at line 105 of file OgreBillboardSet.h.

bool Ogre::BillboardSet::mExternalData [private]
 

Is external billboard data in use?

Definition at line 235 of file OgreBillboardSet.h.

bool Ogre::BillboardSet::mFixedTextureCoords [protected]
 

Definition at line 120 of file OgreBillboardSet.h.

FreeBillboardQueue Ogre::BillboardSet::mFreeBillboards [protected]
 

Free billboard queue.

Remarks:
This contains a list of the billboards free for use as new instances as required by the set. Billboard instances are preconstructed up to the estimated size in the mBillboardPool vector and are referenced on this deque at startup. As they get used this deque reduces, as they get released back to to the set they get added back to the deque.

Definition at line 144 of file OgreBillboardSet.h.

IndexData* Ogre::BillboardSet::mIndexData [protected]
 

The vertex index data for all billboards in this set (1 set only).

Definition at line 172 of file OgreBillboardSet.h.

Real Ogre::BillboardSet::mLeftOff [protected]
 

Definition at line 166 of file OgreBillboardSet.h.

float* Ogre::BillboardSet::mLockPtr [protected]
 

Locked pointer to buffer.

Definition at line 158 of file OgreBillboardSet.h.

HardwareVertexBufferSharedPtr Ogre::BillboardSet::mMainBuf [protected]
 

Shortcut to main buffer (positions, colours, texture coords).

Definition at line 156 of file OgreBillboardSet.h.

String Ogre::BillboardSet::mMaterialName [protected]
 

Name of the material to use.

Definition at line 110 of file OgreBillboardSet.h.

String Ogre::BillboardSet::mName [protected]
 

Name of the entity; used for location in the scene.

Definition at line 94 of file OgreBillboardSet.h.

unsigned short Ogre::BillboardSet::mNumVisibleBillboards [protected]
 

Definition at line 187 of file OgreBillboardSet.h.

BillboardOrigin Ogre::BillboardSet::mOriginType [protected]
 

Origin of each billboard.

Definition at line 102 of file OgreBillboardSet.h.

bool Ogre::MovableObject::mParentIsTagPoint [protected, inherited]
 

Definition at line 49 of file OgreMovableObject.h.

Node* Ogre::MovableObject::mParentNode [protected, inherited]
 

node to which this object is attached

Definition at line 48 of file OgreMovableObject.h.

MaterialPtr Ogre::BillboardSet::mpMaterial [protected]
 

Pointer to the material to use.

Definition at line 112 of file OgreBillboardSet.h.

unsigned int Ogre::BillboardSet::mPoolSize [private]
 

The number of billboard in the pool.

Definition at line 233 of file OgreBillboardSet.h.

unsigned long Ogre::MovableObject::mQueryFlags [protected, inherited]
 

Flags determining whether this object is included / excluded from scene queries.

Definition at line 59 of file OgreMovableObject.h.

bool Ogre::Renderable::mRenderDetailOverrideable [protected, inherited]
 

Definition at line 253 of file OgreRenderable.h.

RenderQueueGroupID Ogre::MovableObject::mRenderQueueID [protected, inherited]
 

The render queue to use when rendering this object.

Definition at line 55 of file OgreMovableObject.h.

bool Ogre::MovableObject::mRenderQueueIDSet [protected, inherited]
 

Flags whether the RenderQueue's default should be used.

Definition at line 57 of file OgreMovableObject.h.

Real Ogre::BillboardSet::mRightOff [protected]
 

Definition at line 166 of file OgreBillboardSet.h.

const PlaneList Ogre::Renderable::msDummyPlaneList [static, protected, inherited]
 

Definition at line 250 of file OgreRenderable.h.

String Ogre::BillboardSet::msMovableType [static, protected]
 

Shared class-level name for Movable type.

Definition at line 227 of file OgreBillboardSet.h.

Real Ogre::BillboardSet::mTopOff [protected]
 

Definition at line 166 of file OgreBillboardSet.h.

UserDefinedObject* Ogre::MovableObject::mUserObject [protected, inherited]
 

User defined object which is linked to this object.

Definition at line 53 of file OgreMovableObject.h.

VertexData* Ogre::BillboardSet::mVertexData [protected]
 

The vertex position data for all billboards in this set.

Definition at line 154 of file OgreBillboardSet.h.

bool Ogre::MovableObject::mVisible [protected, inherited]
 

Is this object visible?

Definition at line 51 of file OgreMovableObject.h.

Vector3 Ogre::BillboardSet::mVOffset[4] [protected]
 

Boundary offsets based on origin and camera orientation Vector3 vLeftOff, vRightOff, vTopOff, vBottomOff; Final vertex offsets, used where sizes all default to save calcs.

Definition at line 162 of file OgreBillboardSet.h.

AxisAlignedBox Ogre::MovableObject::mWorldAABB [mutable, protected, inherited]
 

Cached world AABB of this object.

Reimplemented in Ogre::ParticleSystem.

Definition at line 61 of file OgreMovableObject.h.

Sphere Ogre::MovableObject::mWorldBoundingSphere [mutable, protected, inherited]
 

Definition at line 63 of file OgreMovableObject.h.

AxisAlignedBox Ogre::MovableObject::mWorldDarkCapBounds [mutable, protected, inherited]
 

World space AABB of this object's dark cap.

Definition at line 65 of file OgreMovableObject.h.

bool Ogre::BillboardSet::mWorldSpace [protected]
 

Definition at line 121 of file OgreBillboardSet.h.


The documentation for this class was generated from the following file:

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 13:00:08 2006