OGRE-Next
2.3
Object-Oriented Graphics Rendering Engine
|
A collection of billboards (faces which are always facing the given direction) with the same (default) dimensions, material and which are fairly close proximity to each other. More...
#include <OgreBillboardSet.h>
Public Types | |
typedef map< size_t, Vector4 >::type | CustomParameterMap |
typedef FastArray< MovableObject * > | MovableObjectArray |
@See SceneManager::cullFrustum More... | |
Public Member Functions | |
BillboardSet (IdType id, ObjectMemoryManager *objectMemoryManager, SceneManager *manager, unsigned int poolSize=20, bool externalDataSource=false, uint8 renderQueueId=110u) | |
Usual constructor - this is called by the SceneManager. More... | |
virtual | ~BillboardSet () |
LightList * | _getLightList () |
Returns a pointer to the current list of lights for this object. More... | |
SceneManager * | _getManager () const |
Get the manager of this object, if any (internal use only) More... | |
ObjectData & | _getObjectData () |
Returns a direct access to the ObjectData state. More... | |
const Matrix4 & | _getParentNodeFullTransform () const |
Returns the full transformation of the parent sceneNode or the attachingPoint node. More... | |
virtual SortMode | _getSortMode () const |
Gets the sort mode of this billboard set. More... | |
virtual void | _notifyAttached (Node *parent) |
Internal method called to notify the object that it has been attached to a node. More... | |
virtual void | _notifyBillboardResized () |
Internal callback used by Billboards to notify their parent that they have been resized. More... | |
virtual void | _notifyBillboardRotated () |
Internal callback used by Billboards to notify their parent that they have been rotated. More... | |
virtual void | _notifyCurrentCamera (const Camera *camera, const Camera *lodCamera) |
Overridden from MovableObject. More... | |
void | _notifyManager (SceneManager *man) |
Notify the object of it's manager (internal use only) More... | |
virtual void | _notifyParentNodeMemoryChanged () |
@See Node::_callMemoryChangeListeners More... | |
virtual void | _notifyStaticDirty () const |
Called by SceneManager when it is telling we're a static MovableObject being dirty Don't call this directly. More... | |
void | _releaseManualHardwareResources () override |
virtual void | _restoreManualHardwareResources () |
Notifies the movable object that hardware resources should be restored. More... | |
virtual void | _setHlmsHashes (uint32 hash, uint32 casterHash) |
Manually sets the hlms hashes. Don't call this directly. More... | |
void | _setNullDatablock () override |
Sets the datablock to a null pointer. More... | |
virtual void | _sortBillboards () |
Sort the billboard set. More... | |
virtual void | _updateBounds () |
Update the bounds of the billboardset. More... | |
virtual void | _updateCustomGpuParameter (const GpuProgramParameters_AutoConstantEntry &constantEntry, GpuProgramParameters *params) const |
Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows. More... | |
void | _updateRenderQueue (RenderQueue *queue, Camera *camera, const Camera *lodCamera) override |
Overridden from MovableObject. More... | |
void | _updateRenderQueueImpl (RenderQueue *queue, Camera *camera, const Camera *lodCamera) |
Internal version that does not call _notifyCurrentCamera (i.e. you've already done it) More... | |
void | addPoseWeight (size_t index, float w) |
void | addQueryFlags (uint32 flags) |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object. More... | |
void | addVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object. More... | |
void | beginBillboards (size_t numBillboards=0) |
Begin injection of billboard data; applicable when constructing the BillboardSet for external data use. More... | |
virtual void | clear () |
Empties this set of all billboards. More... | |
virtual AnimableValuePtr | createAnimableValue (const String &valueName) |
Create a reference-counted AnimableValuePtr for the named value. More... | |
Billboard * | createBillboard (const Vector3 &position, const ColourValue &colour=ColourValue::White) |
Creates a new billboard and adds it to this set. More... | |
Billboard * | createBillboard (Real x, Real y, Real z, const ColourValue &colour=ColourValue::White) |
Creates a new billboard and adds it to this set. More... | |
void | detachFromParent () |
Detaches an object from a parent SceneNode if attached. More... | |
void | endBillboards () |
Finish defining billboards. More... | |
const StringVector & | getAnimableValueNames () const |
Gets a list of animable value names for this object. More... | |
virtual bool | getAutoextend () const |
Returns true if the billboard pool automatically extends. More... | |
bool | getAutoUpdate () const |
Return the auto update state of this billboard set. More... | |
virtual Billboard * | getBillboard (unsigned int index) const |
Returns a pointer to the billboard at the supplied index. More... | |
virtual BillboardOrigin | getBillboardOrigin () const |
Gets the point which acts as the origin point for all billboards in this set. More... | |
virtual BillboardRotationType | getBillboardRotationType () const |
Sets billboard rotation type. More... | |
bool | getBillboardsInWorldSpace () |
Gets whether billboards are treated as being in world space. More... | |
virtual BillboardType | getBillboardType () const |
Returns the billboard type in use. More... | |
RealAsUint | getCachedDistanceToCamera () const |
Returns the distance to camera as calculated in @cullFrustum. More... | |
Real | getCachedDistanceToCameraAsReal () const |
Returns the distance to camera as calculated in @cullFrustum. More... | |
bool | getCastShadows () const |
Returns whether shadow casting is enabled for this object. More... | |
virtual bool | getCastsShadows () const |
Method which reports whether this renderable would normally cast a shadow. More... | |
virtual const Vector3 & | getCommonDirection () const |
Gets the common direction for all billboards (BBT_ORIENTED_COMMON) More... | |
virtual const Vector3 & | getCommonUpVector () const |
Gets the common up-vector for all billboards (BBT_PERPENDICULAR_SELF and BBT_PERPENDICULAR_COMMON) More... | |
virtual bool | getCullIndividually () const |
Returns whether or not billboards in this are tested individually for culling. More... | |
uint8 | getCurrentMaterialLod () const |
unsigned char | getCurrentMeshLod () const |
const Vector4 & | getCustomParameter (size_t index) const |
Gets the custom value associated with this Renderable at the given index. More... | |
const CustomParameterMap & | getCustomParameters () const |
HlmsDatablock * | getDatablock () const |
const String & | getDatablockOrMaterialName () const |
virtual Real | getDefaultHeight () const |
See setDefaultDimensions - this gets 1 component individually. More... | |
virtual Real | getDefaultWidth () const |
See setDefaultDimensions - this gets 1 component individually. More... | |
uint32 | getHlmsCasterHash () const |
uint32 | getHlmsHash () const |
IdType | getId () const |
Get the unique id of this object. More... | |
uint32 | getLightMask () const |
Get a bitwise mask which will filter the lights affecting this object. More... | |
const LightList & | getLights () const override |
Gets a list of lights, ordered relative to how close they are to this renderable. More... | |
Listener * | getListener () const |
Gets the current listener for this object. More... | |
Aabb | getLocalAabb () const |
Retrieves the local axis-aligned bounding box for this object. More... | |
float | getLocalRadius () const |
See getLocalAabb and getWorldRadius. More... | |
MaterialPtr | getMaterial () const |
Retrieves the material this renderable object uses. More... | |
const String & | getMovableType () const override |
Overridden from MovableObject. More... | |
const String & | getName () const |
Returns the name of this object. More... | |
virtual int | getNumBillboards () const |
Returns the number of active billboards which currently make up this set. More... | |
unsigned short | getNumPoses () const |
virtual unsigned short | getNumWorldTransforms () const |
Returns the number of world transform matrices this renderable requires. More... | |
Node * | getParentNode () const |
Returns the node to which this object is attached. More... | |
SceneNode * | getParentSceneNode () const |
virtual bool | getPolygonModeOverrideable () const |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. More... | |
virtual unsigned int | getPoolSize () const |
Returns the current size of the billboard pool. More... | |
bool | getPoseHalfPrecision () const |
bool | getPoseNormals () const |
TexBufferPacked * | getPoseTexBuffer () const |
float | getPoseWeight (size_t index) const |
float * | getPoseWeights () const |
uint32 | getQueryFlags () const |
Returns the query flags relevant for this object. More... | |
Real | getRenderingDistance () const |
Gets the distance at which batches are no longer rendered. More... | |
Real | getRenderingMinPixelSize () const |
Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered. More... | |
void | getRenderOperation (RenderOperation &op, bool casterPass) override |
Overridden from MovableObject. More... | |
uint8 | getRenderQueueGroup () const |
Gets the queue group for this entity, see setRenderQueueGroup for full details. More... | |
uint8 | getRenderQueueSubGroup () const |
Real | getShadowRenderingDistance () const |
Gets the distance at which batches are no longer casting shadows. More... | |
SkeletonInstance * | getSkeletonInstance () const |
virtual bool | getSortingEnabled () const |
Returns true if sorting of billboards is enabled based on their distance from the camera. More... | |
Real | getSquaredViewDepth (const Camera *cam) const |
Overridden, see Renderable. More... | |
virtual Ogre::FloatRect const * | getTextureCoords (uint16 *oNumCoords) |
getTextureCoords() returns the current texture coordinate rects in effect. More... | |
virtual bool | getUseAccurateFacing () const |
Gets whether or not billboards use an 'accurate' facing model based on the vector from each billboard to the camera, rather than an optimised version using just the camera direction. More... | |
bool | getUseIdentityProjection () const |
Returns whether or not to use an 'identity' projection. More... | |
bool | getUseIdentityView () const |
Returns whether or not to use an 'identity' view. More... | |
virtual bool | getUseIdentityViewProjMatrixIsDynamic () const |
Returns whether the Hlms implementation should evaluate getUseIdentityProjection per object at runtime, or if it can assume the Renderable will remain with the same setting until the datablock is flushed (performance optimization) More... | |
bool | getUseIdentityWorldMatrix () const override |
Overriden from Renderable. More... | |
virtual OGRE_DEPRECATED const Any & | getUserAny () const |
UserObjectBindings & | getUserObjectBindings () |
Return an instance of user objects binding associated with this class. More... | |
UserObjectBindings & | getUserObjectBindings () |
Return an instance of user objects binding associated with this class. More... | |
const UserObjectBindings & | getUserObjectBindings () const |
Return an instance of user objects binding associated with this class. More... | |
const UserObjectBindings & | getUserObjectBindings () const |
Return an instance of user objects binding associated with this class. More... | |
const VertexArrayObjectArray & | getVaos (VertexPass vertexPass) const |
uint32 | getVisibilityFlags () const |
Returns the visibility flags relevant for this object. More... | |
bool | getVisible () const |
Gets this object whether to be visible or not, if it has a renderable component. More... | |
Aabb | getWorldAabb () const |
Gets the axis aligned box in world space. More... | |
Aabb | getWorldAabbUpdated () |
Gets the axis aligned box in world space. More... | |
float | getWorldRadius () const |
Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ). More... | |
float | getWorldRadiusUpdated () |
Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ). More... | |
void | getWorldTransforms (Matrix4 *xform) const override |
Overridden from MovableObject. More... | |
bool | hasCustomParameter (size_t index) const |
Checks whether a custom value is associated with this Renderable at the given index. More... | |
bool | hasSkeletonAnimation () const |
void | injectBillboard (const Billboard &bb, const Camera *camera) |
Define a billboard. More... | |
virtual void | instanceBatchCullFrustumThreaded (const Frustum *frustum, const Camera *lodCamera, uint32 combinedVisibilityFlags) |
@See InstancingTheadedCullingMethod, More... | |
bool | isAttached () const |
Returns true if this object is attached to a Node. More... | |
virtual bool | isPointRenderingEnabled () const |
Returns whether point rendering is enabled. More... | |
bool | isStatic () const |
Checks whether this MovableObject is static. @See setStatic. More... | |
bool | isVisible () const |
Returns whether or not this object is supposed to be visible or not. More... | |
void | notifyBillboardDataChanged () |
When billboard set is not auto updating its GPU buffer, the user is responsible to inform it about any billboard changes in order to reflect them at the rendering stage. More... | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete (void *ptr, void *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
bool | operator() (const IdObject &left, const IdObject &right) |
bool | operator() (const IdObject *left, const IdObject *right) |
virtual void | postRender (SceneManager *sm, RenderSystem *rsys) |
Called immediately after the Renderable has been rendered. More... | |
virtual bool | preRender (SceneManager *sm, RenderSystem *rsys) |
Called just prior to the Renderable being rendered. More... | |
const LightList & | queryLights () const |
Gets a list of lights, ordered relative to how close they are to this movable object. More... | |
virtual void | removeBillboard (Billboard *pBill) |
Removes a billboard from the set. More... | |
virtual void | removeBillboard (unsigned int index) |
Removes the billboard at the supplied index. More... | |
void | removeCustomParameter (size_t index) |
Removes a custom value which is associated with this Renderable at the given index. More... | |
void | removeQueryFlags (uint32 flags) |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. More... | |
void | removeVisibilityFlags (uint32 flags) |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object. More... | |
virtual void | setAutoextend (bool autoextend) |
Tells the set whether to allow automatic extension of the pool of billboards. More... | |
void | setAutoUpdate (bool autoUpdate) |
Set the auto update state of this billboard set. More... | |
virtual void | setBillboardOrigin (BillboardOrigin origin) |
Sets the point which acts as the origin point for all billboards in this set. More... | |
virtual void | setBillboardRotationType (BillboardRotationType rotationType) |
Sets billboard rotation type. More... | |
virtual void | setBillboardsInWorldSpace (bool ws) |
Sets whether billboards should be treated as being in world space. More... | |
virtual void | setBillboardType (BillboardType bbt) |
Sets the type of billboard to render. More... | |
void | setBounds (const Aabb &aabb, Real radius) |
Set the bounds of the BillboardSet. More... | |
void | setCastShadows (bool enabled) |
Sets whether or not this object will cast shadows. More... | |
virtual void | setCommonDirection (const Vector3 &vec) |
Use this to specify the common direction given to billboards of type BBT_ORIENTED_COMMON or BBT_PERPENDICULAR_COMMON. More... | |
virtual void | setCommonUpVector (const Vector3 &vec) |
Use this to specify the common up-vector given to billboards of type BBT_PERPENDICULAR_SELF or BBT_PERPENDICULAR_COMMON. More... | |
virtual void | setCullIndividually (bool cullIndividual) |
Sets whether culling tests billboards in this individually as well as in a group. More... | |
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. More... | |
void | setDatablock (HlmsDatablock *datablock) override |
Assigns a datablock (i.e. HLMS Material) to this renderable. More... | |
void | setDatablock (IdString datablockName) |
Assigns a datablock (i.e. More... | |
void | setDatablockOrMaterialName (String materialName, String groupName) |
First tries to see if an HLMS datablock exist with the given name, if not, tries to search among low level materials. More... | |
virtual void | setDefaultDimensions (Real width, Real height) |
Sets the default dimensions of the billboards in this set. More... | |
virtual void | setDefaultHeight (Real height) |
See setDefaultDimensions - this sets 1 component individually. More... | |
virtual void | setDefaultWidth (Real width) |
See setDefaultDimensions - this sets 1 component individually. More... | |
void | setLightMask (uint32 lightMask) |
Set a bitwise mask which will filter the lights affecting this object. More... | |
void | setListener (Listener *listener) |
Sets a listener for this object. More... | |
void | setLocalAabb (const Aabb box) |
Sets the local axis-aligned bounding box for this object. More... | |
void | setMaterial (const MaterialPtr &material) override |
Sets the given material. Overrides HLMS materials. More... | |
void | setMaterialName (const String &name, const String &groupName) |
Sets the name of the Material to be used. Prefer using HLMS @See setHlms. More... | |
void | setName (const String &name) |
Sets a custom name for this node. More... | |
virtual void | setPointRenderingEnabled (bool enabled) |
Set whether or not the BillboardSet will use point rendering rather than manually generated quads. More... | |
virtual void | setPolygonModeOverrideable (bool override) |
Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. More... | |
virtual void | setPoolSize (size_t size) |
Adjusts the size of the pool of billboards available in this set. More... | |
void | setPoseWeight (size_t index, float w) |
void | setQueryFlags (uint32 flags) |
Sets the query flags for this object. More... | |
void | setRenderingDistance (Real dist) |
Sets the distance at which the object is no longer rendered. More... | |
void | setRenderingMinPixelSize (Real pixelSize) |
Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered. More... | |
virtual void | setRenderQueueGroup (uint8 queueID) |
Sets the render queue group this entity will be rendered through. More... | |
void | setRenderQueueSubGroup (uint8 subGroup) |
Sets the render queue sub group. More... | |
void | setShadowRenderingDistance (Real dist) |
Sets the distance at which the object is no longer casting shadows. More... | |
virtual void | setSortingEnabled (bool sortenable) |
Enables sorting for this BillboardSet. More... | |
bool | setStatic (bool bStatic) |
Turns this Node into static or dynamic. More... | |
virtual void | setTextureCoords (Ogre::FloatRect const *coords, uint16 numCoords) |
BillboardSet can use custom texture coordinates for various billboards. More... | |
virtual void | setTextureStacksAndSlices (uchar stacks, uchar slices) |
setTextureStacksAndSlices() will generate texture coordinate rects as if the texture for the billboard set contained 'stacks' rows of 'slices' images each, all equal size. More... | |
virtual void | setUseAccurateFacing (bool acc) |
Sets whether or not billboards should use an 'accurate' facing model based on the vector from each billboard to the camera, rather than an optimised version using just the camera direction. More... | |
void | setUseIdentityProjection (bool useIdentityProjection) |
Sets whether or not to use an 'identity' projection. More... | |
void | setUseIdentityView (bool useIdentityView) |
Sets whether or not to use an 'identity' view. More... | |
virtual OGRE_DEPRECATED void | setUserAny (const Any &anything) |
void | setVisibilityFlags (uint32 flags) |
Sets the visibility flags for this object. More... | |
void | setVisible (bool visible) |
Tells this object whether to be visible or not, if it has a renderable component. More... | |
Static Public Member Functions | |
static void | buildLightList (const size_t numNodes, ObjectData t, const LightListInfo &globalLightList) |
@See SceneManager::buildLightList More... | |
static ArrayReal | calculateCameraDistance (uint32 _cameraSortMode, const ArrayVector3 &cameraPos, const ArrayVector3 &cameraDir, ArrayAabb *RESTRICT_ALIAS worldAabb, ArrayReal *RESTRICT_ALIAS worldRadius) |
static void | calculateCastersBox (const size_t numNodes, ObjectData t, uint32 sceneVisibilityFlags, AxisAlignedBox *outBox) |
static void | cullFrustum (const size_t numNodes, ObjectData t, const Camera *frustum, uint32 sceneVisibilityFlags, MovableObjectArray &outCulledObjects, const Camera *lodCamera) |
static void | cullLights (const size_t numNodes, ObjectData t, uint32 sceneLightMask, LightListInfo &outGlobalLightList, const FrustumVec &frustums, const FrustumVec &cubemapFrustums) |
@See SceneManager::cullLights & More... | |
static uint32 | getDefaultLightMask () |
Get the default light mask for all future MovableObject instances. More... | |
static uint32 | getDefaultQueryFlags () |
Get the default query flags for all future MovableObject instances. More... | |
static uint8 | getDefaultRenderQueueSubGroup () |
static uint32 | getDefaultVisibilityFlags () |
Get the default visibility flags for all future MovableObject instances. More... | |
static void | setDefaultLightMask (uint32 mask) |
Set the default light mask for all future MovableObject instances. More... | |
static void | setDefaultQueryFlags (uint32 flags) |
Set the default query flags for all future MovableObject instances. More... | |
static void | setDefaultRenderQueueSubGroup (uint8 subGroup) |
Sets the default render queue sub group for all future Renderable instances. More... | |
static void | setDefaultVisibilityFlags (uint32 flags) |
Set the default visibility flags for all future MovableObject instances. More... | |
static void | updateAllBounds (const size_t numNodes, ObjectData t) |
@See SceneManager::updateAllBounds More... | |
Public Attributes | |
uint8 | mCustomParameter |
Only valid when using low level materials. More... | |
size_t | mGlobalIndex |
Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks). More... | |
uint32 | mHlmsGlobalIndex |
Index in the vector holding this Rendrable reference in the HLMS datablock. More... | |
size_t | mParentIndex |
Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks). More... | |
RenderableArray | mRenderables |
bool | mRenderableVisible |
Control visibility at Renderable (e.g. More... | |
Static Public Attributes | |
static const FastArray< Real > | c_DefaultLodMesh |
A collection of billboards (faces which are always facing the given direction) with the same (default) dimensions, material and which are fairly close proximity to each other.
|
inherited |
|
inherited |
@See SceneManager::cullFrustum
frustum | Frustum to clip against |
sceneVisibilityFlags | Combined scene's visibility flags (i.e. viewport | scene). Set LAYER_SHADOW_CASTER bit if you want to exclude non-shadow casters. |
outCulledObjects | Out. List of objects that are (fully or partially) inside the frustum and should be rendered |
lodCamera | Camera in which lod levels calculations are based (i.e. during shadow pass renders) Note however, we only use this camera to calulate if should be visible according to mUpperDistance |
Ogre::v1::BillboardSet::BillboardSet | ( | IdType | id, |
ObjectMemoryManager * | objectMemoryManager, | ||
SceneManager * | manager, | ||
unsigned int | poolSize = 20 , |
||
bool | externalDataSource = false , |
||
uint8 | renderQueueId = 110u |
||
) |
Usual constructor - this is called by the SceneManager.
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 the billboard 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. |
|
virtual |
|
inlineinherited |
Returns a pointer to the current list of lights for this object.
|
inlineinherited |
Get the manager of this object, if any (internal use only)
|
inlineinherited |
Returns a direct access to the ObjectData state.
|
inherited |
Returns the full transformation of the parent sceneNode or the attachingPoint node.
|
virtual |
Gets the sort mode of this billboard set.
|
virtualinherited |
Internal method called to notify the object that it has been attached to a node.
Reimplemented in Ogre::ParticleSystem, and Ogre::v1::Entity.
|
virtual |
Internal callback used by Billboards to notify their parent that they have been resized.
|
virtual |
Internal callback used by Billboards to notify their parent that they have been rotated.
|
virtual |
Overridden from MovableObject.
|
inlineinherited |
Notify the object of it's manager (internal use only)
|
inlinevirtualinherited |
@See Node::_callMemoryChangeListeners
Reimplemented in Ogre::Item.
|
inlinevirtualinherited |
Called by SceneManager when it is telling we're a static MovableObject being dirty Don't call this directly.
|
inlineoverridevirtual |
Reimplemented from Ogre::MovableObject.
|
inlinevirtualinherited |
Notifies the movable object that hardware resources should be restored.
Reimplemented in Ogre::v1::Rectangle2D.
Manually sets the hlms hashes. Don't call this directly.
Reimplemented in Ogre::SubItem.
|
overridevirtual |
Sets the datablock to a null pointer.
Use case: If you will be destroying an HlmsDatablock and all Renderables associated by it; it makes no sense to change the Renderable's datablock to a default one, only to be destroyed immediately after (you pay an unnecessary performance price).
Reimplemented from Ogre::Renderable.
|
virtual |
Sort the billboard set.
Only called when enabled via setSortingEnabled
|
virtual |
Update the bounds of the billboardset.
|
virtualinherited |
Update a custom GpuProgramParameters constant which is derived from information only this Renderable knows.
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::v1::SubEntity.
|
overridevirtual |
void Ogre::v1::BillboardSet::_updateRenderQueueImpl | ( | RenderQueue * | queue, |
Camera * | camera, | ||
const Camera * | lodCamera | ||
) |
Internal version that does not call _notifyCurrentCamera (i.e. you've already done it)
|
inherited |
|
inlineinherited |
As setQueryFlags, except the flags passed as parameters are appended to the existing flags on this object.
|
inlineinherited |
As setVisibilityFlags, except the flags passed as parameters are appended to the existing flags on this object.
void Ogre::v1::BillboardSet::beginBillboards | ( | size_t | numBillboards = 0 | ) |
Begin injection of billboard data; applicable when constructing the BillboardSet for external data use.
numBillboards | If you know the number of billboards you will be issuing, state it here to make the update more efficient. |
|
staticinherited |
@See SceneManager::buildLightList
globalLightList | List of lights already culled against all possible frustums and reorganized contiguously for SoA |
|
inlinestaticinherited |
|
staticinherited |
|
virtual |
Empties this set of all billboards.
|
inlinevirtualinherited |
Create a reference-counted AnimableValuePtr for the named value.
Reimplemented in Ogre::Light.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
Billboard* Ogre::v1::BillboardSet::createBillboard | ( | const Vector3 & | position, |
const ColourValue & | colour = ColourValue::White |
||
) |
Creates a new billboard and adds it to this set.
position | The position of the new billboard realtive to the certer of the set |
colour | Optional base colour of the billboard. |
NULL
is returned. Billboard* Ogre::v1::BillboardSet::createBillboard | ( | Real | x, |
Real | y, | ||
Real | z, | ||
const ColourValue & | colour = ColourValue::White |
||
) |
Creates a new billboard and adds it to this set.
x | The x position of the new billboard relative to the center of the set |
y | The y position of the new billboard relative to the center of the set |
z | The z position of the new billboard relative to the center of the set |
colour | Optional base colour of the billboard. |
NULL
is returned.
|
staticinherited |
|
staticinherited |
@See SceneManager::cullLights &
outGlobalLightList | Output, a list of lights, contiguously placed |
frustums | An array of all frustums we need to check against |
cubemapFrustums | An array of all frustums that are used at least once as cubemaps (@See SceneManager::createCamera) |
|
inherited |
Detaches an object from a parent SceneNode if attached.
void Ogre::v1::BillboardSet::endBillboards | ( | ) |
Finish defining billboards.
|
inlineinherited |
Gets a list of animable value names for this object.
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
|
virtual |
Returns true if the billboard pool automatically extends.
|
inline |
Return the auto update state of this billboard set.
|
virtual |
Returns a pointer to the billboard at the supplied index.
index | The index of the billboard that is requested. |
NULL
is returned.
|
virtual |
Gets the point which acts as the origin point for all billboards in this set.
Referenced by Ogre::v1::BillboardParticleRenderer::getBillboardOrigin().
|
virtual |
Sets billboard rotation type.
|
inline |
Gets whether billboards are treated as being in world space.
|
virtual |
Returns the billboard type in use.
|
inlineinherited |
Returns the distance to camera as calculated in @cullFrustum.
|
inlineinherited |
Returns the distance to camera as calculated in @cullFrustum.
|
inlineinherited |
Returns whether shadow casting is enabled for this object.
|
inlinevirtualinherited |
Method which reports whether this renderable would normally cast a shadow.
Reimplemented in Ogre::WireAabb, Ogre::SubItem, Ogre::v1::SubEntity, Ogre::Rectangle2D, Ogre::ManualObject::ManualObjectSection, Ogre::VoxelVisualizer, and Ogre::IfdProbeVisualizer.
|
virtual |
Gets the common direction for all billboards (BBT_ORIENTED_COMMON)
|
virtual |
Gets the common up-vector for all billboards (BBT_PERPENDICULAR_SELF and BBT_PERPENDICULAR_COMMON)
|
virtual |
Returns whether or not billboards in this are tested individually for culling.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Gets the custom value associated with this Renderable at the given index.
index | Index of the parameter to retrieve. |
References Ogre::Exception::ERR_ITEM_NOT_FOUND, and OGRE_EXCEPT.
|
inlineinherited |
|
inlineinherited |
|
inherited |
|
virtual |
See setDefaultDimensions - this gets 1 component individually.
|
inlinestaticinherited |
Get the default light mask for all future MovableObject instances.
|
inlinestaticinherited |
Get the default query flags for all future MovableObject instances.
|
inlinestaticinherited |
|
inlinestaticinherited |
Get the default visibility flags for all future MovableObject instances.
|
virtual |
See setDefaultDimensions - this gets 1 component individually.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Get the unique id of this object.
|
inlineinherited |
Get a bitwise mask which will filter the lights affecting this object.
|
overridevirtual |
Gets a list of lights, ordered relative to how close they are to this renderable.
Implements Ogre::Renderable.
|
inlineinherited |
Gets the current listener for this object.
|
inherited |
Retrieves the local axis-aligned bounding box for this object.
|
inherited |
See getLocalAabb and getWorldRadius.
|
inherited |
Retrieves the material this renderable object uses.
It may be null if it's using the HLMS. @See getDatablock
|
overridevirtual |
Overridden from MovableObject.
Implements Ogre::MovableObject.
|
inlineinherited |
Returns the name of this object.
|
virtual |
Returns the number of active billboards which currently make up this set.
|
inherited |
|
inlinevirtualinherited |
Returns the number of world transform matrices this renderable requires.
Reimplemented in Ogre::v1::SubEntity, and Ogre::v1::BorderRenderable.
|
inlineinherited |
Returns the node to which this object is attached.
|
inlineinherited |
|
inlinevirtualinherited |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
Reimplemented in Ogre::v1::BorderRenderable.
Referenced by Ogre::v1::BorderRenderable::getPolygonModeOverrideable().
|
virtual |
Returns the current size of the billboard pool.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
Returns the query flags relevant for this object.
|
inlineinherited |
Gets the distance at which batches are no longer rendered.
|
inlineinherited |
Returns the minimum pixel size an object needs to be in both screen axes in order to be rendered.
|
overridevirtual |
|
inlineinherited |
Gets the queue group for this entity, see setRenderQueueGroup for full details.
|
inlineinherited |
|
inlineinherited |
Gets the distance at which batches are no longer casting shadows.
|
inlineinherited |
|
virtual |
Returns true if sorting of billboards is enabled based on their distance from the camera.
Overridden, see Renderable.
|
virtual |
getTextureCoords() returns the current texture coordinate rects in effect.
By default, there is only one texture coordinate rect in the set, spanning the entire texture from 0 through 1 in each direction.
|
inlinevirtual |
Gets whether or not billboards use an 'accurate' facing model based on the vector from each billboard to the camera, rather than an optimised version using just the camera direction.
|
inlineinherited |
Returns whether or not to use an 'identity' projection.
|
inlineinherited |
Returns whether or not to use an 'identity' view.
|
inlinevirtualinherited |
Returns whether the Hlms implementation should evaluate getUseIdentityProjection per object at runtime, or if it can assume the Renderable will remain with the same setting until the datablock is flushed (performance optimization)
|
overridevirtual |
Overriden from Renderable.
Reimplemented from Ogre::Renderable.
|
inlinevirtualinherited |
Retrieves the custom user value associated with this object.
|
inlineinherited |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inlineinherited |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inlineinherited |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inlineinherited |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inlineinherited |
|
inlineinherited |
Returns the visibility flags relevant for this object.
Reserved visibility flags are not returned.
|
inlineinherited |
Gets this object whether to be visible or not, if it has a renderable component.
|
inherited |
Gets the axis aligned box in world space.
|
inherited |
Gets the axis aligned box in world space.
|
inherited |
Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ).
|
inherited |
Gets the bounding Radius scaled by max( scale.x, scale.y, scale.z ).
|
overridevirtual |
|
inlineinherited |
Checks whether a custom value is associated with this Renderable at the given index.
index | Index of the parameter to check for existence. |
|
inlineinherited |
Define a billboard.
|
inlinevirtualinherited |
@See InstancingTheadedCullingMethod,
|
inlineinherited |
Returns true if this object is attached to a Node.
|
inlinevirtual |
Returns whether point rendering is enabled.
|
inherited |
Checks whether this MovableObject is static. @See setStatic.
|
inherited |
Returns whether or not this object is supposed to be visible or not.
|
inline |
When billboard set is not auto updating its GPU buffer, the user is responsible to inform it about any billboard changes in order to reflect them at the rendering stage.
Calling this method will cause GPU buffers update in the next render queue update.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
placement operator new
|
inlineinherited |
|
inlineinherited |
array operator new, with debug line info
|
inlinevirtualinherited |
Called immediately after the Renderable has been rendered.
|
inlinevirtualinherited |
Called just prior to the Renderable being rendered.
Reimplemented in Ogre::v1::BillboardChain.
|
inlineinherited |
Gets a list of lights, ordered relative to how close they are to this movable object.
|
virtual |
Removes a billboard from the set.
|
virtual |
Removes the billboard at the supplied index.
|
inlineinherited |
Removes a custom value which is associated with this Renderable at the given index.
index | Index of the parameter to remove. |
|
inlineinherited |
As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object.
|
inlineinherited |
As setVisibilityFlags, except the flags passed as parameters are removed from the existing flags on this object.
|
virtual |
Tells the set whether to allow automatic extension of the pool of billboards.
autoextend | true to double the pool every time it runs out, false to fail silently. |
void Ogre::v1::BillboardSet::setAutoUpdate | ( | bool | autoUpdate | ) |
Set the auto update state of this billboard set.
|
virtual |
Sets the point which acts as the origin point for all billboards in this set.
origin | A member of the BillboardOrigin enum specifying the origin for all the billboards in this set. |
Referenced by Ogre::v1::BillboardParticleRenderer::setBillboardOrigin().
|
virtual |
Sets billboard rotation type.
rotationType | A member of the BillboardRotationType enum specifying the rotation type for all the billboards in this set. |
|
inlinevirtual |
Sets whether billboards should be treated as being in world space.
|
virtual |
Sets the type of billboard to render.
bbt | The type of billboard to render |
Set the bounds of the BillboardSet.
|
inlineinherited |
Sets whether or not this object will cast shadows.
|
virtual |
Use this to specify the common direction given to billboards of type BBT_ORIENTED_COMMON or BBT_PERPENDICULAR_COMMON.
vec | The direction for all billboards. |
|
virtual |
Use this to specify the common up-vector given to billboards of type BBT_PERPENDICULAR_SELF or BBT_PERPENDICULAR_COMMON.
vec | The up-vector for all billboards. |
|
virtual |
Sets whether culling tests billboards in this individually as well as in a group.
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. |
|
inlineinherited |
Sets a custom parameter for this Renderable, which may be used to drive calculations for this specific Renderable, like GPU program 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. |
|
overridevirtual |
Assigns a datablock (i.e. HLMS Material) to this renderable.
Reimplemented from Ogre::Renderable.
|
inherited |
Assigns a datablock (i.e.
HLMS material) based on its unique name.
|
inherited |
First tries to see if an HLMS datablock exist with the given name, if not, tries to search among low level materials.
Sets the default dimensions of the billboards in this set.
width | The new default width for the billboards in this set. |
height | The new default height for the billboards in this set. |
|
virtual |
See setDefaultDimensions - this sets 1 component individually.
|
inlinestaticinherited |
Set the default light mask for all future MovableObject instances.
|
inlinestaticinherited |
Set the default query flags for all future MovableObject instances.
|
inlinestaticinherited |
Sets the default render queue sub group for all future Renderable instances.
|
inlinestaticinherited |
Set the default visibility flags for all future MovableObject instances.
|
virtual |
See setDefaultDimensions - this sets 1 component individually.
|
inlineinherited |
Set a bitwise mask which will filter the lights affecting this object.
|
inlineinherited |
Sets a listener for this object.
|
inherited |
Sets the local axis-aligned bounding box for this object.
|
overridevirtual |
Sets the given material. Overrides HLMS materials.
Reimplemented from Ogre::Renderable.
Sets the name of the Material to be used. Prefer using HLMS @See setHlms.
|
inlineinherited |
Sets a custom name for this node.
Doesn't have to be unique
|
virtual |
Set whether or not the BillboardSet will use point rendering rather than manually generated quads.
enabled | True to enable point rendering, false otherwise |
|
inlinevirtualinherited |
Sets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
override | true means that a lower camera detail will override this renderables detail level, false means it won't. |
|
virtual |
Adjusts the size of the pool of billboards available in this set.
size | The new size for the pool. |
|
inherited |
|
inlineinherited |
Sets the query flags for this object.
|
inlineinherited |
Sets the distance at which the object is no longer rendered.
dist | Distance beyond which the object will not be rendered (the default is FLT_MAX, which means objects are always rendered). Values equal or below zero will be ignored, and cause an assertion in debug mode. |
|
inlineinherited |
Sets the minimum pixel size an object needs to be in both screen axes in order to be rendered.
pixelSize | Number of minimum pixels (the default is 0, which means objects are always rendered). |
|
virtualinherited |
Sets the render queue group this entity will be rendered through.
queueID | Enumerated value of the queue group to use. See the enum RenderQueueGroupID for what kind of values can be used here. |
Reimplemented in Ogre::ParticleSystem, Ogre::Light, Ogre::InternalCubemapProbe, Ogre::v1::Entity, and Ogre::Decal.
|
inlineinherited |
Sets the render queue sub group.
subGroup | The sub group. This value can't exceed OGRE_MAKE_MASK( SubRqIdBits ) @See RenderQueue |
|
inlineinherited |
Sets the distance at which the object is no longer casting shadows.
dist | Distance beyond which the object will not cast shadows (the default is FLT_MAX, which means objects are always casting shadows). Values equal or below zero will be ignored, and cause an assertion in debug mode. |
|
virtual |
Enables sorting for this BillboardSet.
(default: off)
sortenable | true to sort the billboards according to their distance to the camera |
|
inherited |
Turns this Node into static or dynamic.
|
virtual |
BillboardSet can use custom texture coordinates for various billboards.
This is useful for selecting one of many particle images out of a tiled texture sheet, or doing flipbook animation within a single texture.
coords | is a vector of texture coordinates (in UV space) to choose from for each billboard created in the set. |
numCoords | is how many such coordinate rectangles there are to choose from. |
|
virtual |
setTextureStacksAndSlices() will generate texture coordinate rects as if the texture for the billboard set contained 'stacks' rows of 'slices' images each, all equal size.
Thus, if the texture size is 512x512 and 'stacks' is 4 and 'slices' is 8, each sub-rectangle of the texture would be 128 texels tall and 64 texels wide.
|
inlinevirtual |
Sets whether or not billboards should use an 'accurate' facing model based on the vector from each billboard to the camera, rather than an optimised version using just the camera direction.
acc | True to use the slower but more accurate model. Default is false. |
|
inlineinherited |
Sets whether or not to use an 'identity' projection.
|
inlineinherited |
Sets whether or not to use an 'identity' view.
|
inlinevirtualinherited |
Sets any kind of user value on this object.
|
inlineinherited |
Sets the visibility flags for this object.
|
inlineinherited |
Tells this object whether to be visible or not, if it has a renderable component.
|
staticinherited |
@See SceneManager::updateAllBounds
|
inherited |
Only valid when using low level materials.
|
inherited |
Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks).
Used for O(1) removals.
|
inherited |
Index in the vector holding this Rendrable reference in the HLMS datablock.
Used for O(1) removals.
|
inherited |
Index in the vector holding this MO reference (could be our parent node, or a global array tracking all movable objecst to avoid memory leaks).
Used for O(1) removals.
|
inherited |
|
inherited |
Control visibility at Renderable (e.g.
SubMesh) level
Note that if our MovableObject owner called MovableObject::setVisible( false ) we won't get rendered. Both must be true in order to render.