Classes | |
class | Ogre::Camera |
A viewpoint from which the scene will be rendered. More... | |
class | Ogre::Entity |
Defines an instance of a discrete, movable object based on a Mesh. More... | |
class | Ogre::EntityFactory |
Factory object for creating Entity instances. More... | |
class | Ogre::InstanceBatch |
InstanceBatch forms part of the new Instancing system This is an abstract class that must be derived to implement different instancing techniques (. More... | |
class | Ogre::InstanceBatchHW |
This is technique requires true instancing hardware support. More... | |
class | Ogre::InstanceBatchHW_VTF |
Instancing implementation using vertex texture through Vertex Texture Fetch (VTF) and hardware instancing. More... | |
class | Ogre::InstanceBatchShader |
This is the same technique the old "InstancedGeometry" implementation used (with improvements). More... | |
class | Ogre::BaseInstanceBatchVTF |
Instancing implementation using vertex texture through Vertex Texture Fetch (VTF) This implementation has the following advantages: Supports huge amount of instances per batch Supports skinning even with huge ammounts of instances per batch Doesn't need shader constants registers. More... | |
class | Ogre::InstanceBatchVTF |
class | Ogre::InstancedEntity |
class | Ogre::InstancedGeometry |
Pre-transforms and batches up meshes for efficient use as instanced geometry in a scene. More... | |
class | Ogre::InstanceManager |
This is the main starting point for the new instancing system. More... | |
struct | Ogre::InstanceManager::BatchSettings |
class | Ogre::Light |
Representation of a dynamic light source in the scene. More... | |
class | Ogre::LightFactory |
Factory object for creating Light instances. More... | |
class | Ogre::ManualObject |
Class providing a much simplified interface to generating manual objects with custom geometry. More... | |
class | Ogre::ManualObjectFactory |
Factory object for creating ManualObject instances. More... | |
class | Ogre::MovableObject |
Abstract class defining a movable object in a scene. More... | |
class | Ogre::MovableObjectFactory |
Interface definition for a factory class which produces a certain kind of MovableObject, and can be registered with Root in order to allow all clients to produce new instances of this object, integrated with the standard Ogre processing. More... | |
class | Ogre::MovablePlane |
Definition of a Plane that may be attached to a node, and the derived details of it retrieved simply. More... | |
class | Ogre::Node |
Class representing a general-purpose node an articulated scene graph. More... | |
class | Ogre::Rectangle2D |
Allows the rendering of a simple 2D rectangle This class renders a simple 2D rectangle; this rectangle has no depth and therefore is best used with specific render queue and depth settings, like RENDER_QUEUE_BACKGROUND and 'depth_write off' for backdrops, and RENDER_QUEUE_OVERLAY and 'depth_check off' for fullscreen quads. More... | |
class | Ogre::Renderable |
Abstract class defining the interface all renderable objects must implement. More... | |
struct | Ogre::ViewPoint |
Structure for holding a position & orientation pair. More... | |
struct | Ogre::VisibleObjectsBoundsInfo |
Structure collecting together information about the visible objects that have been discovered in a scene. More... | |
class | Ogre::SceneManager |
Manages the organisation and rendering of a 'scene' i.e. More... | |
class | Ogre::DefaultIntersectionSceneQuery |
Default implementation of IntersectionSceneQuery. More... | |
class | Ogre::DefaultRaySceneQuery |
Default implementation of RaySceneQuery. More... | |
class | Ogre::DefaultSphereSceneQuery |
Default implementation of SphereSceneQuery. More... | |
class | Ogre::DefaultPlaneBoundedVolumeListSceneQuery |
Default implementation of PlaneBoundedVolumeListSceneQuery. More... | |
class | Ogre::DefaultAxisAlignedBoxSceneQuery |
Default implementation of AxisAlignedBoxSceneQuery. More... | |
struct | Ogre::SceneManagerMetaData |
Structure containing information about a scene manager. More... | |
class | Ogre::SceneManagerFactory |
Class which will create instances of a given SceneManager. More... | |
class | Ogre::DefaultSceneManagerFactory |
Factory for default scene manager. More... | |
class | Ogre::DefaultSceneManager |
Default scene manager. More... | |
class | Ogre::SceneManagerEnumerator |
Enumerates the SceneManager classes available to applications. More... | |
class | Ogre::SceneNode |
Class representing a node in the scene graph. More... | |
class | Ogre::SceneQuery |
A class for performing queries on a scene. More... | |
class | Ogre::SceneQueryListener |
This optional class allows you to receive per-result callbacks from SceneQuery executions instead of a single set of consolidated results. More... | |
struct | Ogre::SceneQueryResult |
Holds the results of a scene query. More... | |
class | Ogre::RegionSceneQuery |
Abstract class defining a query which returns single results from a region. More... | |
class | Ogre::AxisAlignedBoxSceneQuery |
Specialises the SceneQuery class for querying within an axis aligned box. More... | |
class | Ogre::SphereSceneQuery |
Specialises the SceneQuery class for querying within a sphere. More... | |
class | Ogre::PlaneBoundedVolumeListSceneQuery |
Specialises the SceneQuery class for querying within a plane-bounded volume. More... | |
class | Ogre::RaySceneQueryListener |
Alternative listener class for dealing with RaySceneQuery. More... | |
struct | Ogre::RaySceneQueryResultEntry |
This struct allows a single comparison of result data no matter what the type. More... | |
class | Ogre::RaySceneQuery |
Specialises the SceneQuery class for querying along a ray. More... | |
class | Ogre::IntersectionSceneQueryListener |
Alternative listener class for dealing with IntersectionSceneQuery. More... | |
struct | Ogre::IntersectionSceneQueryResult |
Holds the results of an intersection scene query (pair values). More... | |
class | Ogre::IntersectionSceneQuery |
Separate SceneQuery class to query for pairs of objects which are possibly intersecting one another. More... | |
class | Ogre::ShadowCameraSetup |
This class allows you to plug in new ways to define the camera setup when rendering and projecting shadow textures. More... | |
class | Ogre::DefaultShadowCameraSetup |
Implements default shadow camera setup. More... | |
class | Ogre::FocusedShadowCameraSetup |
Implements the uniform shadow mapping algorithm in focused mode. More... | |
class | Ogre::LiSPSMShadowCameraSetup |
Implements the Light Space Perspective Shadow Mapping Algorithm. More... | |
class | Ogre::PlaneOptimalShadowCameraSetup |
Implements the plane optimal shadow camera algorithm. More... | |
class | Ogre::PSSMShadowCameraSetup |
Parallel Split Shadow Map (PSSM) shadow camera setup. More... | |
class | Ogre::ShadowRenderable |
Class which represents the renderable aspects of a set of shadow volume faces. More... | |
class | Ogre::ShadowCaster |
This class defines the interface that must be implemented by shadow casters. More... | |
struct | Ogre::ShadowTextureConfig |
Structure containing the configuration for one shadow texture. More... | |
class | Ogre::ShadowTextureManager |
Class to manage the available shadow textures which may be shared between many SceneManager instances if formats agree. More... | |
class | Ogre::ShadowVolumeExtrudeProgram |
Static class containing source for vertex programs for extruding shadow volumes. More... | |
class | Ogre::SimpleRenderable |
Simple implementation of MovableObject and Renderable for single-part custom objects. More... | |
class | Ogre::SkeletonInstance |
A SkeletonInstance is a single instance of a Skeleton used by a world object. More... | |
struct | Ogre::StaticFaceGroup |
Collects a group of static i.e. More... | |
class | Ogre::StaticGeometry |
Pre-transforms and batches up meshes for efficient use as static geometry in a scene. More... | |
class | Ogre::SubEntity |
Utility class which defines the sub-parts of an Entity. More... | |
class | Ogre::UserObjectBindings |
Class that provide convenient interface to establish a linkage between custom user application objects and Ogre core classes. More... | |
class | Ogre::WireBoundingBox |
Allows the rendering of a wireframe bounding box. More... | |
Typedefs | |
typedef vector< float >::type | Ogre::BaseInstanceBatchVTF::HWBoneWgtVec |
typedef vector< Matrix4 >::type | Ogre::BaseInstanceBatchVTF::Matrix4Vec |
typedef vector < InstancedEntity * >::type | Ogre::InstancedEntity::InstancedEntityVec |
Stores the master when we're the slave, store our slaves when we're the master. | |
typedef vector< InstanceBatch * > ::type | Ogre::InstanceManager::InstanceBatchVec |
typedef map< String, InstanceBatchVec >::type | Ogre::InstanceManager::InstanceBatchMap |
typedef map< String, BatchSettings >::type | Ogre::InstanceManager::BatchSettingsMap |
typedef ConstMapIterator < InstanceBatchMap > | Ogre::InstanceManager::InstanceBatchMapIterator |
typedef ConstVectorIterator < InstanceBatchVec > | Ogre::InstanceManager::InstanceBatchIterator |
typedef uint16 | Ogre::SceneTypeMask |
Bitmask containing scene types. | |
typedef list< MovableObject * > ::type | Ogre::SceneQueryResultMovableList |
typedef list < SceneQuery::WorldFragment * > ::type | Ogre::SceneQueryResultWorldFragmentList |
typedef vector < RaySceneQueryResultEntry > ::type | Ogre::RaySceneQueryResult |
typedef std::pair < MovableObject *, MovableObject * > | Ogre::SceneQueryMovableObjectPair |
typedef std::pair < MovableObject *, SceneQuery::WorldFragment * > | Ogre::SceneQueryMovableObjectWorldFragmentPair |
typedef list < SceneQueryMovableObjectPair > ::type | Ogre::SceneQueryMovableIntersectionList |
typedef list < SceneQueryMovableObjectWorldFragmentPair > ::type | Ogre::SceneQueryMovableWorldFragmentIntersectionList |
typedef SharedPtr < ShadowCameraSetup > | Ogre::ShadowCameraSetupPtr |
typedef vector< TexturePtr >::type | Ogre::ShadowTextureList |
typedef vector < ShadowTextureConfig >::type | Ogre::ShadowTextureConfigList |
typedef ConstVectorIterator < ShadowTextureConfigList > | Ogre::ConstShadowTextureConfigIterator |
Enumerations | |
enum | Ogre::InstanceManager::BatchSettingId { Ogre::InstanceManager::CAST_SHADOWS = 0, Ogre::InstanceManager::SHOW_BOUNDINGBOX, Ogre::InstanceManager::NUM_SETTINGS } |
Values to be used in setSetting() & BatchSettings::setting. More... | |
enum | Ogre::SceneType { Ogre::ST_GENERIC = 1, Ogre::ST_EXTERIOR_CLOSE = 2, Ogre::ST_EXTERIOR_FAR = 4, Ogre::ST_EXTERIOR_REAL_FAR = 8, Ogre::ST_INTERIOR = 16 } |
Classification of a scene to allow a decision of what type of SceenManager to provide back to the application. More... | |
enum | Ogre::ShadowRenderableFlags { Ogre::SRF_INCLUDE_LIGHT_CAP = 0x00000001, Ogre::SRF_INCLUDE_DARK_CAP = 0x00000002, Ogre::SRF_EXTRUDE_TO_INFINITY = 0x00000004 } |
A set of flags that can be used to influence ShadowRenderable creation. More... | |
enum | Ogre::FaceGroupType { Ogre::FGT_FACE_LIST, Ogre::FGT_PATCH, Ogre::FGT_UNKNOWN } |
A type of face group, i.e. More... | |
Functions | |
virtual void | Ogre::InstanceBatch::setupVertices (const SubMesh *baseSubMesh)=0 |
virtual void | Ogre::InstanceBatch::setupIndices (const SubMesh *baseSubMesh)=0 |
virtual void | Ogre::InstanceBatch::createAllInstancedEntities (void) |
virtual void | Ogre::InstanceBatch::deleteAllInstancedEntities (void) |
virtual void | Ogre::InstanceBatch::deleteUnusedInstancedEntities (void) |
virtual InstancedEntity * | Ogre::InstanceBatch::generateInstancedEntity (size_t num) |
Creates a new InstancedEntity instance. | |
void | Ogre::InstanceBatch::makeMatrixCameraRelative3x4 (float *mat3x4, size_t numFloats) |
Takes an array of 3x4 matrices and makes it camera relative. | |
virtual bool | Ogre::InstanceBatch::checkSubMeshCompatibility (const SubMesh *baseSubMesh) |
Returns false on errors that would prevent building this batch from the given submesh. | |
void | Ogre::InstanceBatch::updateVisibility (void) |
void | Ogre::InstanceBatch::defragmentBatchNoCull (InstancedEntityVec &usedEntities) |
void | Ogre::InstanceBatch::defragmentBatchDoCull (InstancedEntityVec &usedEntities) |
Ogre::InstanceBatch::InstanceBatch (InstanceManager *creator, MeshPtr &meshReference, const MaterialPtr &material, size_t instancesPerBatch, const Mesh::IndexMap *indexToBoneMap, const String &batchName) | |
virtual | Ogre::InstanceBatch::~InstanceBatch () |
MeshPtr & | Ogre::InstanceBatch::_getMeshRef () |
void | Ogre::InstanceBatch::_setInstancesPerBatch (size_t instancesPerBatch) |
Raises an exception if trying to change it after being built. | |
const Mesh::IndexMap * | Ogre::InstanceBatch::_getIndexToBoneMap () const |
bool | Ogre::InstanceBatch::_supportsSkeletalAnimation () const |
Returns true if this technique supports skeletal animation. | |
void | Ogre::InstanceBatch::_updateBounds (void) |
virtual size_t | Ogre::InstanceBatch::calculateMaxNumInstances (const SubMesh *baseSubMesh, uint16 flags) const =0 |
Some techniques have a limit on how many instances can be done. | |
virtual RenderOperation | Ogre::InstanceBatch::build (const SubMesh *baseSubMesh) |
Constructs all the data needed to use this batch, as well as the InstanceEntities. | |
virtual void | Ogre::InstanceBatch::buildFrom (const SubMesh *baseSubMesh, const RenderOperation &renderOperation) |
Instancing consumes significantly more GPU memory than regular rendering methods. | |
const Ogre::MeshPtr & | Ogre::InstanceBatch::_getMeshReference (void) const |
bool | Ogre::InstanceBatch::isBatchFull (void) const |
bool | Ogre::InstanceBatch::isBatchUnused (void) const |
Returns true if it no instanced entity has been requested or all of them have been removed. | |
void | Ogre::InstanceBatch::getInstancedEntitiesInUse (InstancedEntityVec &outEntities) |
Fills the input vector with the instances that are currently being used or were requested Used for defragmentation,. | |
void | Ogre::InstanceBatch::_defragmentBatch (bool optimizeCulling, InstancedEntityVec &usedEntities) |
void | Ogre::InstanceBatch::_defragmentBatchDiscard (void) |
virtual void | Ogre::InstanceBatch::_boundsDirty (void) |
Called by InstancedEntity(s) to tell us we need to update the bounds (we touch the SceneNode so the SceneManager aknowledges such change). | |
virtual void | Ogre::InstanceBatch::setStaticAndUpdate (bool bStatic) |
Tells this batch to stop updating animations, positions, rotations, and display all it's active instances. | |
virtual bool | Ogre::InstanceBatch::isStatic () const |
Returns true if this batch was set as static. | |
InstancedEntity * | Ogre::InstanceBatch::createInstancedEntity () |
Returns a pointer to a new InstancedEntity ready to use Note it's actually preallocated, so no memory allocation happens at this point. | |
void | Ogre::InstanceBatch::removeInstancedEntity (InstancedEntity *instancedEntity) |
Removes an InstancedEntity from the scene retrieved with getNewInstancedEntity, putting back into a queue. | |
virtual bool | Ogre::InstanceBatch::useBoneWorldMatrices () const |
Tells whether world bone matrices need to be calculated. | |
void | Ogre::InstanceBatch::_markTransformSharingDirty () |
Tells that the list of entity instances with shared transforms has changed. | |
const MaterialPtr & | Ogre::InstanceBatch::getMaterial (void) const |
void | Ogre::InstanceBatch::getRenderOperation (RenderOperation &op) |
Real | Ogre::InstanceBatch::getSquaredViewDepth (const Camera *cam) const |
const LightList & | Ogre::InstanceBatch::getLights (void) const |
Technique * | Ogre::InstanceBatch::getTechnique (void) const |
const String & | Ogre::InstanceBatch::getMovableType (void) const |
void | Ogre::InstanceBatch::_notifyCurrentCamera (Camera *cam) |
const AxisAlignedBox & | Ogre::InstanceBatch::getBoundingBox (void) const |
Real | Ogre::InstanceBatch::getBoundingRadius (void) const |
virtual void | Ogre::InstanceBatch::_updateRenderQueue (RenderQueue *queue) |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue. | |
void | Ogre::InstanceBatch::visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false) |
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any. | |
void | Ogre::InstanceBatchHW::setupVertices (const SubMesh *baseSubMesh) |
void | Ogre::InstanceBatchHW::setupIndices (const SubMesh *baseSubMesh) |
void | Ogre::InstanceBatchHW::removeBlendData () |
virtual bool | Ogre::InstanceBatchHW::checkSubMeshCompatibility (const SubMesh *baseSubMesh) |
Returns false on errors that would prevent building this batch from the given submesh. | |
size_t | Ogre::InstanceBatchHW::updateVertexBuffer (Camera *currentCamera) |
Ogre::InstanceBatchHW::InstanceBatchHW (InstanceManager *creator, MeshPtr &meshReference, const MaterialPtr &material, size_t instancesPerBatch, const Mesh::IndexMap *indexToBoneMap, const String &batchName) | |
virtual | Ogre::InstanceBatchHW::~InstanceBatchHW () |
size_t | Ogre::InstanceBatchHW::calculateMaxNumInstances (const SubMesh *baseSubMesh, uint16 flags) const |
void | Ogre::InstanceBatchHW::buildFrom (const SubMesh *baseSubMesh, const RenderOperation &renderOperation) |
void | Ogre::InstanceBatchHW::_boundsDirty (void) |
Overloaded so that we don't perform needless updates when in static mode. | |
void | Ogre::InstanceBatchHW::setStaticAndUpdate (bool bStatic) |
bool | Ogre::InstanceBatchHW::isStatic () const |
Returns true if this batch was set as static. | |
void | Ogre::InstanceBatchHW::getWorldTransforms (Matrix4 *xform) const |
Gets the world transform matrix / matrices for this renderable object. | |
unsigned short | Ogre::InstanceBatchHW::getNumWorldTransforms (void) const |
Returns the number of world transform matrices this renderable requires. | |
virtual void | Ogre::InstanceBatchHW::_updateRenderQueue (RenderQueue *queue) |
Overloaded to avoid updating skeletons (which we don't support), check visibility on a per unit basis and finally updated the vertex buffer. | |
void | Ogre::InstanceBatchHW_VTF::setupVertices (const SubMesh *baseSubMesh) |
void | Ogre::InstanceBatchHW_VTF::setupIndices (const SubMesh *baseSubMesh) |
void | Ogre::InstanceBatchHW_VTF::createVertexSemantics (VertexData *thisVertexData, VertexData *baseVertexData, const HWBoneIdxVec &hwBoneIdx, const HWBoneWgtVec &hwBoneWgt) |
Creates 2 TEXCOORD semantics that will be used to sample the vertex texture. | |
virtual size_t | Ogre::InstanceBatchHW_VTF::updateInstanceDataBuffer (bool isFirstTime, Camera *currentCamera) |
updates the vertex buffer containing the per instance data | |
virtual bool | Ogre::InstanceBatchHW_VTF::checkSubMeshCompatibility (const SubMesh *baseSubMesh) |
Returns false on errors that would prevent building this batch from the given submesh. | |
size_t | Ogre::InstanceBatchHW_VTF::updateVertexTexture (Camera *currentCamera) |
Keeps filling the VTF with world matrix data. | |
virtual bool | Ogre::InstanceBatchHW_VTF::matricesToghetherPerRow () const |
Affects VTF texture's width dimension. | |
Ogre::InstanceBatchHW_VTF::InstanceBatchHW_VTF (InstanceManager *creator, MeshPtr &meshReference, const MaterialPtr &material, size_t instancesPerBatch, const Mesh::IndexMap *indexToBoneMap, const String &batchName) | |
virtual | Ogre::InstanceBatchHW_VTF::~InstanceBatchHW_VTF () |
size_t | Ogre::InstanceBatchHW_VTF::calculateMaxNumInstances (const SubMesh *baseSubMesh, uint16 flags) const |
void | Ogre::InstanceBatchHW_VTF::_boundsDirty (void) |
void | Ogre::InstanceBatchHW_VTF::setStaticAndUpdate (bool bStatic) |
bool | Ogre::InstanceBatchHW_VTF::isStatic () const |
Returns true if this batch was set as static. | |
virtual void | Ogre::InstanceBatchHW_VTF::_updateRenderQueue (RenderQueue *queue) |
Overloaded to visibility on a per unit basis and finally updated the vertex texture. | |
void | Ogre::InstanceBatchShader::setupVertices (const SubMesh *baseSubMesh) |
void | Ogre::InstanceBatchShader::setupIndices (const SubMesh *baseSubMesh) |
void | Ogre::InstanceBatchShader::setupHardwareSkinned (const SubMesh *baseSubMesh, VertexData *thisVertexData, VertexData *baseVertexData) |
When the mesh is (hardware) skinned, a different code path is called so that we reuse the index buffers and modify them in place. | |
Ogre::InstanceBatchShader::InstanceBatchShader (InstanceManager *creator, MeshPtr &meshReference, const MaterialPtr &material, size_t instancesPerBatch, const Mesh::IndexMap *indexToBoneMap, const String &batchName) | |
virtual | Ogre::InstanceBatchShader::~InstanceBatchShader () |
size_t | Ogre::InstanceBatchShader::calculateMaxNumInstances (const SubMesh *baseSubMesh, uint16 flags) const |
void | Ogre::InstanceBatchShader::buildFrom (const SubMesh *baseSubMesh, const RenderOperation &renderOperation) |
void | Ogre::InstanceBatchShader::getWorldTransforms (Matrix4 *xform) const |
Gets the world transform matrix / matrices for this renderable object. | |
unsigned short | Ogre::InstanceBatchShader::getNumWorldTransforms (void) const |
Returns the number of world transform matrices this renderable requires. | |
void | Ogre::BaseInstanceBatchVTF::cloneMaterial (const MaterialPtr &material) |
Clones the base material so it can have it's own vertex texture, and also clones it's shadow caster materials, if it has any. | |
void | Ogre::BaseInstanceBatchVTF::retrieveBoneIdx (VertexData *baseVertexData, HWBoneIdxVec &outBoneIdx) |
Retrieves bone data from the original sub mesh and puts it into an appropriate buffer, later to be read when creating the vertex semantics. | |
void | Ogre::BaseInstanceBatchVTF::retrieveBoneIdxWithWeights (VertexData *baseVertexData, HWBoneIdxVec &outBoneIdx, HWBoneWgtVec &outBoneWgt) |
void | Ogre::BaseInstanceBatchVTF::setupMaterialToUseVTF (TextureType textureType, MaterialPtr &material) |
Setups the material to use a vertex texture. | |
void | Ogre::BaseInstanceBatchVTF::createVertexTexture (const SubMesh *baseSubMesh) |
Creates the vertex texture. | |
virtual void | Ogre::BaseInstanceBatchVTF::createVertexSemantics (VertexData *thisVertexData, VertexData *baseVertexData, const HWBoneIdxVec &hwBoneIdx, const HWBoneWgtVec &hwBoneWgt)=0 |
Creates 2 TEXCOORD semantics that will be used to sample the vertex texture. | |
size_t | Ogre::BaseInstanceBatchVTF::convert3x4MatricesToDualQuaternions (float *matrices, size_t numOfMatrices, float *outDualQuaternions) |
void | Ogre::BaseInstanceBatchVTF::updateVertexTexture (void) |
Keeps filling the VTF with world matrix data. | |
virtual bool | Ogre::BaseInstanceBatchVTF::matricesToghetherPerRow () const =0 |
Affects VTF texture's width dimension. | |
virtual void | Ogre::BaseInstanceBatchVTF::updateSharedLookupIndexes () |
update the lookup numbers for entities with shared transforms | |
virtual InstancedEntity * | Ogre::BaseInstanceBatchVTF::generateInstancedEntity (size_t num) |
Ogre::BaseInstanceBatchVTF::BaseInstanceBatchVTF (InstanceManager *creator, MeshPtr &meshReference, const MaterialPtr &material, size_t instancesPerBatch, const Mesh::IndexMap *indexToBoneMap, const String &batchName) | |
virtual | Ogre::BaseInstanceBatchVTF::~BaseInstanceBatchVTF () |
void | Ogre::BaseInstanceBatchVTF::buildFrom (const SubMesh *baseSubMesh, const RenderOperation &renderOperation) |
void | Ogre::BaseInstanceBatchVTF::getWorldTransforms (Matrix4 *xform) const |
Gets the world transform matrix / matrices for this renderable object. | |
unsigned short | Ogre::BaseInstanceBatchVTF::getNumWorldTransforms (void) const |
Returns the number of world transform matrices this renderable requires. | |
void | Ogre::BaseInstanceBatchVTF::_updateRenderQueue (RenderQueue *queue) |
Overloaded to be able to updated the vertex texture. | |
void | Ogre::BaseInstanceBatchVTF::setBoneMatrixLookup (bool enable, size_t maxLookupTableInstances) |
Sets the state of the usage of bone matrix lookup. | |
bool | Ogre::BaseInstanceBatchVTF::useBoneMatrixLookup () const |
Tells whether to use bone matrix lookup. | |
void | Ogre::BaseInstanceBatchVTF::setBoneDualQuaternions (bool enable) |
bool | Ogre::BaseInstanceBatchVTF::useBoneDualQuaternions () const |
void | Ogre::BaseInstanceBatchVTF::setForceOneWeight (bool enable) |
bool | Ogre::BaseInstanceBatchVTF::forceOneWeight () const |
void | Ogre::BaseInstanceBatchVTF::setUseOneWeight (bool enable) |
bool | Ogre::BaseInstanceBatchVTF::useOneWeight () const |
virtual bool | Ogre::BaseInstanceBatchVTF::useBoneWorldMatrices () const |
virtual size_t | Ogre::BaseInstanceBatchVTF::getMaxLookupTableInstances () const |
void | Ogre::InstanceBatchVTF::setupIndices (const SubMesh *baseSubMesh) |
void | Ogre::InstanceBatchVTF::createVertexSemantics (VertexData *thisVertexData, VertexData *baseVertexData, const HWBoneIdxVec &hwBoneIdx, const HWBoneWgtVec &hwBoneWgt) |
Creates 2 TEXCOORD semantics that will be used to sample the vertex texture. | |
virtual bool | Ogre::InstanceBatchVTF::matricesToghetherPerRow () const |
Affects VTF texture's width dimension. | |
Ogre::InstanceBatchVTF::InstanceBatchVTF (InstanceManager *creator, MeshPtr &meshReference, const MaterialPtr &material, size_t instancesPerBatch, const Mesh::IndexMap *indexToBoneMap, const String &batchName) | |
virtual | Ogre::InstanceBatchVTF::~InstanceBatchVTF () |
size_t | Ogre::InstanceBatchVTF::calculateMaxNumInstances (const SubMesh *baseSubMesh, uint16 flags) const |
size_t | Ogre::InstancedEntity::getTransforms (Matrix4 *xform) const |
Returns number of matrices written to transform, assumes transform has enough space. | |
size_t | Ogre::InstancedEntity::getTransforms3x4 (float *xform) const |
Returns number of 32-bit values written. | |
bool | Ogre::InstancedEntity::findVisible (Camera *camera) const |
Returns true if this InstancedObject is visible to the current camera. | |
void | Ogre::InstancedEntity::createSkeletonInstance () |
Creates/destroys our own skeleton, also tells slaves to unlink if we're destroying. | |
void | Ogre::InstancedEntity::destroySkeletonInstance () |
void | Ogre::InstancedEntity::unlinkTransform () |
Just unlinks, and tells our master we're no longer sharing. | |
void | Ogre::InstancedEntity::notifyUnlink (const InstancedEntity *slave) |
Called when a slave has unlinked from us. | |
void | Ogre::InstancedEntity::markTransformDirty () |
Mark the transformation matrixes as dirty. | |
Ogre::InstancedEntity::InstancedEntity (InstanceBatch *batchOwner, uint32 instanceID, InstancedEntity *sharedTransformEntity=NULL) | |
virtual | Ogre::InstancedEntity::~InstancedEntity () |
bool | Ogre::InstancedEntity::shareTransformWith (InstancedEntity *slave) |
Shares the entire transformation with another InstancedEntity. | |
void | Ogre::InstancedEntity::stopSharingTransform () |
InstanceBatch * | Ogre::InstancedEntity::_getOwner () const |
const String & | Ogre::InstancedEntity::getMovableType (void) const |
Returns the type name of this object. | |
const AxisAlignedBox & | Ogre::InstancedEntity::getBoundingBox (void) const |
Retrieves the local axis-aligned bounding box for this object. | |
Real | Ogre::InstancedEntity::getBoundingRadius (void) const |
Retrieves the radius of the origin-centered bounding sphere for this object. | |
Real | Ogre::InstancedEntity::getSquaredViewDepth (const Camera *cam) const |
This is used by our batch owner to get the closest entity's depth, returns infinity when not attached to a scene node. | |
void | Ogre::InstancedEntity::_notifyMoved (void) |
Overriden so we can tell the InstanceBatch it needs to update it's bounds. | |
void | Ogre::InstancedEntity::_notifyAttached (Node *parent, bool isTagPoint=false) |
Internal method called to notify the object that it has been attached to a node. | |
void | Ogre::InstancedEntity::_updateRenderQueue (RenderQueue *queue) |
Do nothing, InstanceBatch takes care of this. | |
void | Ogre::InstancedEntity::visitRenderables (Renderable::Visitor *visitor, bool debugRenderables=false) |
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any. | |
bool | Ogre::InstancedEntity::hasSkeleton (void) const |
SkeletonInstance * | Ogre::InstancedEntity::getSkeleton (void) const |
AnimationState * | Ogre::InstancedEntity::getAnimationState (const String &name) const |
AnimationStateSet * | Ogre::InstancedEntity::getAllAnimationStates (void) const |
virtual bool | Ogre::InstancedEntity::_updateAnimation (void) |
Called by InstanceBatch in his _updateRenderQueue to tell us we need to calculate our bone matrices. | |
void | Ogre::InstancedEntity::setTransformLookupNumber (uint16 num) |
Sets the transformation look up number. | |
const Vector3 & | Ogre::InstancedEntity::getPosition () const |
Retrieve the position. | |
void | Ogre::InstancedEntity::setPosition (const Vector3 &position, bool doUpdate=true) |
Set the position or the offset from the parent node if a parent node exists. | |
const Quaternion & | Ogre::InstancedEntity::getOrientation () const |
Retrieve the orientation. | |
void | Ogre::InstancedEntity::setOrientation (const Quaternion &orientation, bool doUpdate=true) |
Set the orientation or the offset from the parent node if a parent node exists. | |
const Vector3 & | Ogre::InstancedEntity::getScale () const |
Retrieve the local scale. | |
void | Ogre::InstancedEntity::setScale (const Vector3 &scale, bool doUpdate=true) |
Set the scale or the offset from the parent node if a parent node exists. | |
Real | Ogre::InstancedEntity::getMaxScaleCoef () const |
Returns the maximum derived scale coefficient among the xyz values. | |
void | Ogre::InstancedEntity::updateTransforms () |
Update the world transform and derived values. | |
bool | Ogre::InstancedEntity::isInUse () const |
Tells if the entity is in use. | |
void | Ogre::InstancedEntity::setInUse (bool used) |
Sets whether the entity is in use. | |
virtual const Matrix4 & | Ogre::InstancedEntity::_getParentNodeFullTransform (void) const |
Returns the world transform of the instanced entity including local transform. | |
const Vector3 & | Ogre::InstancedEntity::_getDerivedPosition () const |
Returns the derived position of the instanced entity including local transform. | |
virtual bool | Ogre::InstancedEntity::isInScene (void) const |
Ogre::InstanceManager::BatchSettings::BatchSettings () | |
InstanceBatch * | Ogre::InstanceManager::getFreeBatch (const String &materialName) |
Finds a batch with at least one free instanced entity we can use. | |
InstanceBatch * | Ogre::InstanceManager::buildNewBatch (const String &materialName, bool firstTime) |
Called when batches are fully exhausted (can't return more instances) so a new batch is created. | |
void | Ogre::InstanceManager::defragmentBatches (bool optimizeCull, vector< InstancedEntity * >::type &entities, InstanceBatchVec &fragmentedBatches) |
void | Ogre::InstanceManager::applySettingToBatches (BatchSettingId id, bool value, const InstanceBatchVec &container) |
Ogre::InstanceManager::InstanceManager (const String &customName, SceneManager *sceneManager, const String &meshName, const String &groupName, InstancingTechnique instancingTechnique, uint16 instancingFlags, size_t instancesPerBatch, unsigned short subMeshIdx, bool useBoneMatrixLookup=false) | |
virtual | Ogre::InstanceManager::~InstanceManager () |
const String & | Ogre::InstanceManager::getName () const |
void | Ogre::InstanceManager::setInstancesPerBatch (size_t instancesPerBatch) |
Raises an exception if trying to change it after creating the first InstancedEntity. | |
void | Ogre::InstanceManager::setMaxLookupTableInstances (size_t maxLookupTableInstances) |
Sets the size of the lookup table for techniques supporting bone lookup table. | |
size_t | Ogre::InstanceManager::getMaxOrBestNumInstancesPerBatch (String materialName, size_t suggestedSize, uint16 flags) |
Calculates the maximum (or the best amount, depending on flags) of instances per batch given the suggested size for the technique this manager was created for. | |
InstancedEntity * | Ogre::InstanceManager::createInstancedEntity (const String &materialName) |
void | Ogre::InstanceManager::cleanupEmptyBatches (void) |
This function can be useful to improve CPU speed after having too many instances created, which where now removed, thus freeing many batches with zero used Instanced Entities However the batches aren't automatically removed from memory until the InstanceManager is destroyed, or this function is called. | |
void | Ogre::InstanceManager::defragmentBatches (bool optimizeCulling) |
After creating many entities (which turns in many batches) and then removing entities that are in the middle of these batches, there might be many batches with many free entities. | |
void | Ogre::InstanceManager::setSetting (BatchSettingId id, bool value, const String &materialName=StringUtil::BLANK) |
Applies a setting for all batches using the same material_ existing ones and those that will be created in the future. | |
bool | Ogre::InstanceManager::getSetting (BatchSettingId id, const String &materialName) const |
If settings for the given material didn't exist, default value is returned. | |
bool | Ogre::InstanceManager::hasSettings (const String &materialName) const |
Returns true if settings were already created for the given material name. | |
void | Ogre::InstanceManager::setBatchesAsStaticAndUpdate (bool bStatic) |
void | Ogre::InstanceManager::_addDirtyBatch (InstanceBatch *dirtyBatch) |
Called by an InstanceBatch when it requests their bounds to be updated for proper culling. | |
void | Ogre::InstanceManager::_updateDirtyBatches (void) |
Called by SceneManager when we told it we have at least one dirty batch. | |
InstanceBatchMapIterator | Ogre::InstanceManager::getInstanceBatchMapIterator (void) const |
Get non-updateable iterator over instance batches per material. | |
InstanceBatchIterator | Ogre::InstanceManager::getInstanceBatchIterator (const String &materialName) const |
Get non-updateable iterator over instance batches for given material. | |
_OgreExport bool | Ogre::operator== (const ShadowTextureConfig &lhs, const ShadowTextureConfig &rhs) |
_OgreExport bool | Ogre::operator!= (const ShadowTextureConfig &lhs, const ShadowTextureConfig &rhs) |
Variables | |
RenderOperation | Ogre::InstanceBatch::mRenderOperation |
size_t | Ogre::InstanceBatch::mInstancesPerBatch |
InstanceManager * | Ogre::InstanceBatch::mCreator |
Creator of this object (if created by a factory). | |
MaterialPtr | Ogre::InstanceBatch::mMaterial |
MeshPtr | Ogre::InstanceBatch::mMeshReference |
Mesh::IndexMap const * | Ogre::InstanceBatch::mIndexToBoneMap |
InstancedEntityVec | Ogre::InstanceBatch::mInstancedEntities |
InstancedEntityVec | Ogre::InstanceBatch::mUnusedEntities |
AxisAlignedBox | Ogre::InstanceBatch::mFullBoundingBox |
This bbox contains all (visible) instanced entities. | |
Real | Ogre::InstanceBatch::mBoundingRadius |
bool | Ogre::InstanceBatch::mBoundsDirty |
bool | Ogre::InstanceBatch::mBoundsUpdated |
Set to false by derived classes that need it. | |
Camera * | Ogre::InstanceBatch::mCurrentCamera |
unsigned short | Ogre::InstanceBatch::mMaterialLodIndex |
bool | Ogre::InstanceBatch::mDirtyAnimation |
Set to false at start of each _updateRenderQueue. | |
bool | Ogre::InstanceBatch::mTechnSupportsSkeletal |
False if a technique doesn't support skeletal animation. | |
Real | Ogre::InstanceBatch::mCachedCameraDist |
Cached distance to last camera for getSquaredViewDepth. | |
const Camera * | Ogre::InstanceBatch::mCachedCamera |
The camera for which the cached distance is valid. | |
bool | Ogre::InstanceBatch::mTransformSharingDirty |
Tells that the list of entity instances with shared transforms has changed. | |
bool | Ogre::InstanceBatch::mRemoveOwnVertexData |
When true remove the memory of the VertexData we've created because no one else will. | |
bool | Ogre::InstanceBatch::mRemoveOwnIndexData |
When true remove the memory of the IndexData we've created because no one else will. | |
HardwareVertexBufferSharedPtr | Ogre::InstanceBatchHW_VTF::mInstanceVertexBuffer |
size_t | Ogre::BaseInstanceBatchVTF::mMatricesPerInstance |
size_t | Ogre::BaseInstanceBatchVTF::mNumWorldMatrices |
TexturePtr | Ogre::BaseInstanceBatchVTF::mMatrixTexture |
size_t | Ogre::BaseInstanceBatchVTF::mWidthFloatsPadding |
size_t | Ogre::BaseInstanceBatchVTF::mMaxFloatsPerLine |
size_t | Ogre::BaseInstanceBatchVTF::mRowLength |
size_t | Ogre::BaseInstanceBatchVTF::mWeightCount |
float * | Ogre::BaseInstanceBatchVTF::mTempTransformsArray3x4 |
bool | Ogre::BaseInstanceBatchVTF::mUseBoneMatrixLookup |
size_t | Ogre::BaseInstanceBatchVTF::mMaxLookupTableInstances |
bool | Ogre::BaseInstanceBatchVTF::mUseBoneDualQuaternions |
bool | Ogre::BaseInstanceBatchVTF::mForceOneWeight |
bool | Ogre::BaseInstanceBatchVTF::mUseOneWeight |
uint16 | Ogre::InstancedEntity::mInstanceId |
bool | Ogre::InstancedEntity::mInUse |
InstanceBatch * | Ogre::InstancedEntity::mBatchOwner |
AnimationStateSet * | Ogre::InstancedEntity::mAnimationState |
SkeletonInstance * | Ogre::InstancedEntity::mSkeletonInstance |
Matrix4 * | Ogre::InstancedEntity::mBoneMatrices |
Matrix4 * | Ogre::InstancedEntity::mBoneWorldMatrices |
unsigned long | Ogre::InstancedEntity::mFrameAnimationLastUpdated |
InstancedEntity * | Ogre::InstancedEntity::mSharedTransformEntity |
uint16 | Ogre::InstancedEntity::mTransformLookupNumber |
Used in conjunction with bone matrix lookup. | |
InstancedEntityVec | Ogre::InstancedEntity::mSharingPartners |
Vector3 | Ogre::InstancedEntity::mPosition |
Object position. | |
Vector3 | Ogre::InstancedEntity::mDerivedLocalPosition |
Quaternion | Ogre::InstancedEntity::mOrientation |
Object orientation. | |
Vector3 | Ogre::InstancedEntity::mScale |
Object scale. | |
Real | Ogre::InstancedEntity::mMaxScaleLocal |
The maximum absolute scale for all dimension. | |
Matrix4 | Ogre::InstancedEntity::mFullLocalTransform |
Full world transform. | |
bool | Ogre::InstancedEntity::mNeedTransformUpdate |
Tells if mFullTransform needs an updated. | |
bool | Ogre::InstancedEntity::mNeedAnimTransformUpdate |
Tells if the animation world transform needs an update. | |
bool | Ogre::InstancedEntity::mUseLocalTransform |
Tells whether to use the local transform parameters. | |
static NameGenerator | Ogre::InstancedEntity::msNameGenerator |
Incremented count for next name extension. | |
const String | Ogre::InstanceManager::mName |
MeshPtr | Ogre::InstanceManager::mMeshReference |
InstanceBatchMap | Ogre::InstanceManager::mInstanceBatches |
size_t | Ogre::InstanceManager::mIdCount |
InstanceBatchVec | Ogre::InstanceManager::mDirtyBatches |
RenderOperation | Ogre::InstanceManager::mSharedRenderOperation |
size_t | Ogre::InstanceManager::mInstancesPerBatch |
InstancingTechnique | Ogre::InstanceManager::mInstancingTechnique |
uint16 | Ogre::InstanceManager::mInstancingFlags |
unsigned short | Ogre::InstanceManager::mSubMeshIdx |
BatchSettingsMap | Ogre::InstanceManager::mBatchSettings |
SceneManager * | Ogre::InstanceManager::mSceneManager |
size_t | Ogre::InstanceManager::mMaxLookupTableInstances |
Friends | |
class | Ogre::InstancedEntity::InstanceBatchShader |
class | Ogre::InstancedEntity::InstanceBatchHW |
class | Ogre::InstancedEntity::InstanceBatchHW_VTF |
class | Ogre::InstancedEntity::BaseInstanceBatchVTF |
typedef map<String, BatchSettings>::type Ogre::InstanceManager::BatchSettingsMap [private, inherited] |
Definition at line 101 of file OgreInstanceManager.h.
typedef ConstVectorIterator<ShadowTextureConfigList> Ogre::ConstShadowTextureConfigIterator |
Definition at line 65 of file OgreShadowTextureManager.h.
typedef vector<float>::type Ogre::BaseInstanceBatchVTF::HWBoneWgtVec [protected, inherited] |
Definition at line 78 of file OgreInstanceBatchVTF.h.
typedef ConstVectorIterator<InstanceBatchVec> Ogre::InstanceManager::InstanceBatchIterator [inherited] |
Definition at line 260 of file OgreInstanceManager.h.
typedef map<String, InstanceBatchVec>::type Ogre::InstanceManager::InstanceBatchMap [private, inherited] |
Definition at line 99 of file OgreInstanceManager.h.
typedef ConstMapIterator<InstanceBatchMap> Ogre::InstanceManager::InstanceBatchMapIterator [inherited] |
Definition at line 259 of file OgreInstanceManager.h.
typedef vector<InstanceBatch*>::type Ogre::InstanceManager::InstanceBatchVec [private, inherited] |
Definition at line 98 of file OgreInstanceManager.h.
typedef vector<InstancedEntity*>::type Ogre::InstancedEntity::InstancedEntityVec [protected, inherited] |
Stores the master when we're the slave, store our slaves when we're the master.
Definition at line 101 of file OgreInstancedEntity.h.
typedef vector<Matrix4>::type Ogre::BaseInstanceBatchVTF::Matrix4Vec [protected, inherited] |
Definition at line 79 of file OgreInstanceBatchVTF.h.
typedef vector<RaySceneQueryResultEntry>::type Ogre::RaySceneQueryResult |
Definition at line 372 of file OgreSceneQuery.h.
typedef list<SceneQueryMovableObjectPair>::type Ogre::SceneQueryMovableIntersectionList |
Definition at line 489 of file OgreSceneQuery.h.
typedef std::pair<MovableObject*, MovableObject*> Ogre::SceneQueryMovableObjectPair |
Definition at line 487 of file OgreSceneQuery.h.
typedef std::pair<MovableObject*, SceneQuery::WorldFragment*> Ogre::SceneQueryMovableObjectWorldFragmentPair |
Definition at line 488 of file OgreSceneQuery.h.
typedef list<SceneQueryMovableObjectWorldFragmentPair>::type Ogre::SceneQueryMovableWorldFragmentIntersectionList |
Definition at line 490 of file OgreSceneQuery.h.
typedef list<MovableObject*>::type Ogre::SceneQueryResultMovableList |
Definition at line 205 of file OgreSceneQuery.h.
typedef list<SceneQuery::WorldFragment*>::type Ogre::SceneQueryResultWorldFragmentList |
Definition at line 206 of file OgreSceneQuery.h.
typedef uint16 Ogre::SceneTypeMask |
Bitmask containing scene types.
Definition at line 3602 of file OgreSceneManager.h.
typedef SharedPtr<ShadowCameraSetup> Ogre::ShadowCameraSetupPtr |
Definition at line 101 of file OgreShadowCameraSetup.h.
typedef vector<ShadowTextureConfig>::type Ogre::ShadowTextureConfigList |
Definition at line 64 of file OgreShadowTextureManager.h.
typedef vector<TexturePtr>::type Ogre::ShadowTextureList |
Definition at line 49 of file OgreShadowTextureManager.h.
enum Ogre::InstanceManager::BatchSettingId [inherited] |
Values to be used in setSetting() & BatchSettings::setting.
CAST_SHADOWS |
Makes all batches from same material cast shadows. |
SHOW_BOUNDINGBOX |
Makes each batch to display it's bounding box. Useful for debugging or profiling. |
NUM_SETTINGS |
Definition at line 75 of file OgreInstanceManager.h.
enum Ogre::FaceGroupType |
A type of face group, i.e.
face list of procedural etc
Definition at line 45 of file OgreStaticFaceGroup.h.
enum Ogre::SceneType |
Classification of a scene to allow a decision of what type of SceenManager to provide back to the application.
Definition at line 3607 of file OgreSceneManager.h.
A set of flags that can be used to influence ShadowRenderable creation.
Definition at line 104 of file OgreShadowCaster.h.
void Ogre::InstanceManager::_addDirtyBatch | ( | InstanceBatch * | dirtyBatch | ) | [inherited] |
Called by an InstanceBatch when it requests their bounds to be updated for proper culling.
dirtyBatch | The batch which is dirty, usually same as caller. |
void Ogre::InstanceBatchHW_VTF::_boundsDirty | ( | void | ) | [virtual, inherited] |
Overloaded so that we don't perform needless updates when in static mode. Also doing that could cause glitches with shadow mapping (since Ogre thinks we're small/bigger than we really are when displaying, or that we're somewhere else)
Reimplemented from Ogre::InstanceBatch.
void Ogre::InstanceBatchHW::_boundsDirty | ( | void | ) | [virtual, inherited] |
Overloaded so that we don't perform needless updates when in static mode.
Also doing that could cause glitches with shadow mapping (since Ogre thinks we're small/bigger than we really are when displaying, or that we're somewhere else)
Reimplemented from Ogre::InstanceBatch.
virtual void Ogre::InstanceBatch::_boundsDirty | ( | void | ) | [virtual, inherited] |
Called by InstancedEntity(s) to tell us we need to update the bounds (we touch the SceneNode so the SceneManager aknowledges such change).
Reimplemented in Ogre::InstanceBatchHW, and Ogre::InstanceBatchHW_VTF.
void Ogre::InstanceBatch::_defragmentBatch | ( | bool | optimizeCulling, | |
InstancedEntityVec & | usedEntities | |||
) | [inherited] |
optimizeCulling | true will call the DoCull version, false the NoCull | |
Array | of InstancedEntities to parent with this batch. Those reparented are removed from this input vector |
void Ogre::InstanceBatch::_defragmentBatchDiscard | ( | void | ) | [inherited] |
const Vector3& Ogre::InstancedEntity::_getDerivedPosition | ( | ) | const [inherited] |
Returns the derived position of the instanced entity including local transform.
Definition at line 258 of file OgreInstancedEntity.h.
References Ogre::Vector3::ZERO.
const Mesh::IndexMap* Ogre::InstanceBatch::_getIndexToBoneMap | ( | ) | const [inherited] |
Definition at line 179 of file OgreInstanceBatch.h.
MeshPtr& Ogre::InstanceBatch::_getMeshRef | ( | ) | [inherited] |
Definition at line 173 of file OgreInstanceBatch.h.
const Ogre::MeshPtr& Ogre::InstanceBatch::_getMeshReference | ( | void | ) | const [inherited] |
Definition at line 233 of file OgreInstanceBatch.h.
InstanceBatch* Ogre::InstancedEntity::_getOwner | ( | ) | const [inherited] |
Definition at line 185 of file OgreInstancedEntity.h.
virtual const Matrix4& Ogre::InstancedEntity::_getParentNodeFullTransform | ( | void | ) | const [virtual, inherited] |
Returns the world transform of the instanced entity including local transform.
Reimplemented from Ogre::MovableObject.
Definition at line 251 of file OgreInstancedEntity.h.
References Ogre::Matrix4::IDENTITY.
void Ogre::InstanceBatch::_markTransformSharingDirty | ( | ) | [inherited] |
Tells that the list of entity instances with shared transforms has changed.
Definition at line 315 of file OgreInstanceBatch.h.
void Ogre::InstancedEntity::_notifyAttached | ( | Node * | parent, | |
bool | isTagPoint = false | |||
) | [virtual, inherited] |
Internal method called to notify the object that it has been attached to a node.
Reimplemented from Ogre::MovableObject.
void Ogre::InstanceBatch::_notifyCurrentCamera | ( | Camera * | cam | ) | [virtual, inherited] |
Internal method to notify the object of the camera to be used for the next rendering operation.
Reimplemented from Ogre::MovableObject.
void Ogre::InstancedEntity::_notifyMoved | ( | void | ) | [virtual, inherited] |
Overriden so we can tell the InstanceBatch it needs to update it's bounds.
Reimplemented from Ogre::MovableObject.
void Ogre::InstanceBatch::_setInstancesPerBatch | ( | size_t | instancesPerBatch | ) | [inherited] |
Raises an exception if trying to change it after being built.
bool Ogre::InstanceBatch::_supportsSkeletalAnimation | ( | ) | const [inherited] |
Returns true if this technique supports skeletal animation.
Definition at line 187 of file OgreInstanceBatch.h.
virtual bool Ogre::InstancedEntity::_updateAnimation | ( | void | ) | [virtual, inherited] |
Called by InstanceBatch in his _updateRenderQueue to tell us we need to calculate our bone matrices.
void Ogre::InstanceBatch::_updateBounds | ( | void | ) | [inherited] |
void Ogre::InstanceManager::_updateDirtyBatches | ( | void | ) | [inherited] |
Called by SceneManager when we told it we have at least one dirty batch.
void Ogre::InstancedEntity::_updateRenderQueue | ( | RenderQueue * | queue | ) | [virtual, inherited] |
Do nothing, InstanceBatch takes care of this.
Implements Ogre::MovableObject.
Definition at line 201 of file OgreInstancedEntity.h.
void Ogre::BaseInstanceBatchVTF::_updateRenderQueue | ( | RenderQueue * | queue | ) | [virtual, inherited] |
Overloaded to be able to updated the vertex texture.
Reimplemented from Ogre::InstanceBatch.
Reimplemented in Ogre::InstanceBatchHW_VTF.
virtual void Ogre::InstanceBatchHW_VTF::_updateRenderQueue | ( | RenderQueue * | queue | ) | [virtual, inherited] |
Overloaded to visibility on a per unit basis and finally updated the vertex texture.
Reimplemented from Ogre::BaseInstanceBatchVTF.
virtual void Ogre::InstanceBatchHW::_updateRenderQueue | ( | RenderQueue * | queue | ) | [virtual, inherited] |
Overloaded to avoid updating skeletons (which we don't support), check visibility on a per unit basis and finally updated the vertex buffer.
Reimplemented from Ogre::InstanceBatch.
virtual void Ogre::InstanceBatch::_updateRenderQueue | ( | RenderQueue * | queue | ) | [virtual, inherited] |
Internal method by which the movable object must add Renderable subclass instances to the rendering queue.
Implements Ogre::MovableObject.
Reimplemented in Ogre::InstanceBatchHW, Ogre::InstanceBatchHW_VTF, and Ogre::BaseInstanceBatchVTF.
void Ogre::InstanceManager::applySettingToBatches | ( | BatchSettingId | id, | |
bool | value, | |||
const InstanceBatchVec & | container | |||
) | [private, inherited] |
Ogre::BaseInstanceBatchVTF::BaseInstanceBatchVTF | ( | InstanceManager * | creator, | |
MeshPtr & | meshReference, | |||
const MaterialPtr & | material, | |||
size_t | instancesPerBatch, | |||
const Mesh::IndexMap * | indexToBoneMap, | |||
const String & | batchName | |||
) | [inherited] |
Ogre::InstanceManager::BatchSettings::BatchSettings | ( | ) | [inherited] |
Definition at line 91 of file OgreInstanceManager.h.
virtual RenderOperation Ogre::InstanceBatch::build | ( | const SubMesh * | baseSubMesh | ) | [virtual, inherited] |
Constructs all the data needed to use this batch, as well as the InstanceEntities.
Placed here because in the constructor virtual tables may not have been yet filled.
baseSubMesh | A sub mesh which the instances will be based upon from. |
void Ogre::BaseInstanceBatchVTF::buildFrom | ( | const SubMesh * | baseSubMesh, | |
const RenderOperation & | renderOperation | |||
) | [virtual, inherited] |
Reimplemented from Ogre::InstanceBatch.
void Ogre::InstanceBatchShader::buildFrom | ( | const SubMesh * | baseSubMesh, | |
const RenderOperation & | renderOperation | |||
) | [virtual, inherited] |
Reimplemented from Ogre::InstanceBatch.
void Ogre::InstanceBatchHW::buildFrom | ( | const SubMesh * | baseSubMesh, | |
const RenderOperation & | renderOperation | |||
) | [virtual, inherited] |
Reimplemented from Ogre::InstanceBatch.
virtual void Ogre::InstanceBatch::buildFrom | ( | const SubMesh * | baseSubMesh, | |
const RenderOperation & | renderOperation | |||
) | [virtual, inherited] |
Instancing consumes significantly more GPU memory than regular rendering methods.
However, multiple batches can share most, if not all, of the vertex & index buffers to save memory. Derived classes are free to overload this method to manipulate what to reference from Render Op. For example, Hardware based instancing uses it's own vertex buffer for the last source binding, but shares the other sources.
renderOperation | The RenderOp to reference. |
Reimplemented in Ogre::InstanceBatchHW, Ogre::InstanceBatchShader, and Ogre::BaseInstanceBatchVTF.
InstanceBatch* Ogre::InstanceManager::buildNewBatch | ( | const String & | materialName, | |
bool | firstTime | |||
) | [private, inherited] |
Called when batches are fully exhausted (can't return more instances) so a new batch is created.
For the first time use, it can take big build time. It takes care of getting the render operation which will be shared by further batches, which decreases their build time, and prevents GPU RAM from skyrocketing.
materialName | The material name, to know where to put this batch in the map | |
firstTime | True if this is the first time it is called |
size_t Ogre::InstanceBatchVTF::calculateMaxNumInstances | ( | const SubMesh * | baseSubMesh, | |
uint16 | flags | |||
) | const [virtual, inherited] |
Implements Ogre::InstanceBatch.
size_t Ogre::InstanceBatchShader::calculateMaxNumInstances | ( | const SubMesh * | baseSubMesh, | |
uint16 | flags | |||
) | const [virtual, inherited] |
Implements Ogre::InstanceBatch.
size_t Ogre::InstanceBatchHW_VTF::calculateMaxNumInstances | ( | const SubMesh * | baseSubMesh, | |
uint16 | flags | |||
) | const [virtual, inherited] |
Implements Ogre::InstanceBatch.
size_t Ogre::InstanceBatchHW::calculateMaxNumInstances | ( | const SubMesh * | baseSubMesh, | |
uint16 | flags | |||
) | const [virtual, inherited] |
Implements Ogre::InstanceBatch.
virtual size_t Ogre::InstanceBatch::calculateMaxNumInstances | ( | const SubMesh * | baseSubMesh, | |
uint16 | flags | |||
) | const [pure virtual, inherited] |
Some techniques have a limit on how many instances can be done.
Sometimes even depends on the material being used.
baseSubMesh | The base submesh that will be using to build it. | |
flags |
Implemented in Ogre::InstanceBatchHW, Ogre::InstanceBatchHW_VTF, Ogre::InstanceBatchShader, and Ogre::InstanceBatchVTF.
virtual bool Ogre::InstanceBatchHW_VTF::checkSubMeshCompatibility | ( | const SubMesh * | baseSubMesh | ) | [protected, virtual, inherited] |
Returns false on errors that would prevent building this batch from the given submesh.
Reimplemented from Ogre::InstanceBatch.
virtual bool Ogre::InstanceBatchHW::checkSubMeshCompatibility | ( | const SubMesh * | baseSubMesh | ) | [private, virtual, inherited] |
Returns false on errors that would prevent building this batch from the given submesh.
Reimplemented from Ogre::InstanceBatch.
virtual bool Ogre::InstanceBatch::checkSubMeshCompatibility | ( | const SubMesh * | baseSubMesh | ) | [protected, virtual, inherited] |
Returns false on errors that would prevent building this batch from the given submesh.
Reimplemented in Ogre::InstanceBatchHW, and Ogre::InstanceBatchHW_VTF.
void Ogre::InstanceManager::cleanupEmptyBatches | ( | void | ) | [inherited] |
This function can be useful to improve CPU speed after having too many instances created, which where now removed, thus freeing many batches with zero used Instanced Entities However the batches aren't automatically removed from memory until the InstanceManager is destroyed, or this function is called.
This function removes those batches which are completely unused (only wasting memory).
void Ogre::BaseInstanceBatchVTF::cloneMaterial | ( | const MaterialPtr & | material | ) | [protected, inherited] |
Clones the base material so it can have it's own vertex texture, and also clones it's shadow caster materials, if it has any.
size_t Ogre::BaseInstanceBatchVTF::convert3x4MatricesToDualQuaternions | ( | float * | matrices, | |
size_t | numOfMatrices, | |||
float * | outDualQuaternions | |||
) | [protected, inherited] |
virtual void Ogre::InstanceBatch::createAllInstancedEntities | ( | void | ) | [protected, virtual, inherited] |
InstancedEntity* Ogre::InstanceManager::createInstancedEntity | ( | const String & | materialName | ) | [inherited] |
Creates an InstancedEntity based on an existing InstanceManager (.
materialName | Material name | |
managerName | Name of the instance manager |
InstancedEntity* Ogre::InstanceBatch::createInstancedEntity | ( | ) | [inherited] |
Returns a pointer to a new InstancedEntity ready to use Note it's actually preallocated, so no memory allocation happens at this point.
void Ogre::InstancedEntity::createSkeletonInstance | ( | ) | [protected, inherited] |
Creates/destroys our own skeleton, also tells slaves to unlink if we're destroying.
void Ogre::InstanceBatchVTF::createVertexSemantics | ( | VertexData * | thisVertexData, | |
VertexData * | baseVertexData, | |||
const HWBoneIdxVec & | hwBoneIdx, | |||
const HWBoneWgtVec & | hwBoneWgt | |||
) | [private, virtual, inherited] |
Creates 2 TEXCOORD semantics that will be used to sample the vertex texture.
Implements Ogre::BaseInstanceBatchVTF.
virtual void Ogre::BaseInstanceBatchVTF::createVertexSemantics | ( | VertexData * | thisVertexData, | |
VertexData * | baseVertexData, | |||
const HWBoneIdxVec & | hwBoneIdx, | |||
const HWBoneWgtVec & | hwBoneWgt | |||
) | [protected, pure virtual, inherited] |
Creates 2 TEXCOORD semantics that will be used to sample the vertex texture.
Implemented in Ogre::InstanceBatchHW_VTF, and Ogre::InstanceBatchVTF.
void Ogre::InstanceBatchHW_VTF::createVertexSemantics | ( | VertexData * | thisVertexData, | |
VertexData * | baseVertexData, | |||
const HWBoneIdxVec & | hwBoneIdx, | |||
const HWBoneWgtVec & | hwBoneWgt | |||
) | [protected, virtual, inherited] |
Creates 2 TEXCOORD semantics that will be used to sample the vertex texture.
Implements Ogre::BaseInstanceBatchVTF.
void Ogre::BaseInstanceBatchVTF::createVertexTexture | ( | const SubMesh * | baseSubMesh | ) | [protected, inherited] |
Creates the vertex texture.
void Ogre::InstanceBatch::defragmentBatchDoCull | ( | InstancedEntityVec & | usedEntities | ) | [protected, inherited] |
void Ogre::InstanceManager::defragmentBatches | ( | bool | optimizeCulling | ) | [inherited] |
After creating many entities (which turns in many batches) and then removing entities that are in the middle of these batches, there might be many batches with many free entities.
Worst case scenario, there could be left one batch per entity. Imagine there can be 80 entities per batch, there are 80 batches, making a total of 6400 entities. Then 6320 of those entities are removed in a very specific way, which leads to having 80 batches, 80 entities, and GPU vertex shader still needs to process 6400! This is called fragmentation. This function reparents the InstancedEntities to fewer batches, in this case leaving only one batch with 80 entities
optimizeCulling | When true, entities close together will be reorganized in the same batch for more efficient CPU culling. This can take more CPU time. You want this to be false if you now you're entities are moving very randomly which tends them to get separated and spread all over the scene (which nullifies any CPU culling) |
void Ogre::InstanceManager::defragmentBatches | ( | bool | optimizeCull, | |
vector< InstancedEntity * >::type & | entities, | |||
InstanceBatchVec & | fragmentedBatches | |||
) | [private, inherited] |
void Ogre::InstanceBatch::defragmentBatchNoCull | ( | InstancedEntityVec & | usedEntities | ) | [protected, inherited] |
virtual void Ogre::InstanceBatch::deleteAllInstancedEntities | ( | void | ) | [protected, virtual, inherited] |
virtual void Ogre::InstanceBatch::deleteUnusedInstancedEntities | ( | void | ) | [protected, virtual, inherited] |
void Ogre::InstancedEntity::destroySkeletonInstance | ( | ) | [protected, inherited] |
bool Ogre::InstancedEntity::findVisible | ( | Camera * | camera | ) | const [protected, inherited] |
Returns true if this InstancedObject is visible to the current camera.
bool Ogre::BaseInstanceBatchVTF::forceOneWeight | ( | ) | const [inherited] |
Definition at line 189 of file OgreInstanceBatchVTF.h.
virtual InstancedEntity* Ogre::BaseInstanceBatchVTF::generateInstancedEntity | ( | size_t | num | ) | [protected, virtual, inherited] |
Reimplemented from Ogre::InstanceBatch.
virtual InstancedEntity* Ogre::InstanceBatch::generateInstancedEntity | ( | size_t | num | ) | [protected, virtual, inherited] |
Creates a new InstancedEntity instance.
Reimplemented in Ogre::BaseInstanceBatchVTF.
AnimationStateSet* Ogre::InstancedEntity::getAllAnimationStates | ( | void | ) | const [inherited] |
AnimationState* Ogre::InstancedEntity::getAnimationState | ( | const String & | name | ) | const [inherited] |
const AxisAlignedBox& Ogre::InstancedEntity::getBoundingBox | ( | void | ) | const [virtual, inherited] |
Retrieves the local axis-aligned bounding box for this object.
Implements Ogre::MovableObject.
const AxisAlignedBox& Ogre::InstanceBatch::getBoundingBox | ( | void | ) | const [virtual, inherited] |
Retrieves the local axis-aligned bounding box for this object.
Implements Ogre::MovableObject.
Real Ogre::InstancedEntity::getBoundingRadius | ( | void | ) | const [virtual, inherited] |
Retrieves the radius of the origin-centered bounding sphere for this object.
Implements Ogre::MovableObject.
Real Ogre::InstanceBatch::getBoundingRadius | ( | void | ) | const [virtual, inherited] |
Retrieves the radius of the origin-centered bounding sphere for this object. .
Implements Ogre::MovableObject.
InstanceBatch* Ogre::InstanceManager::getFreeBatch | ( | const String & | materialName | ) | [private, inherited] |
Finds a batch with at least one free instanced entity we can use.
If none found, creates one.
InstanceBatchIterator Ogre::InstanceManager::getInstanceBatchIterator | ( | const String & | materialName | ) | const [inherited] |
Get non-updateable iterator over instance batches for given material.
Definition at line 272 of file OgreInstanceManager.h.
InstanceBatchMapIterator Ogre::InstanceManager::getInstanceBatchMapIterator | ( | void | ) | const [inherited] |
Get non-updateable iterator over instance batches per material.
Definition at line 263 of file OgreInstanceManager.h.
void Ogre::InstanceBatch::getInstancedEntitiesInUse | ( | InstancedEntityVec & | outEntities | ) | [inherited] |
Fills the input vector with the instances that are currently being used or were requested Used for defragmentation,.
const LightList& Ogre::InstanceBatch::getLights | ( | void | ) | const [virtual, inherited] |
Gets a list of lights, ordered relative to how close they are to this renderable.
Implements Ogre::Renderable.
const MaterialPtr& Ogre::InstanceBatch::getMaterial | ( | void | ) | const [virtual, inherited] |
Retrieves a weak reference to the material this renderable object uses.
Implements Ogre::Renderable.
Definition at line 319 of file OgreInstanceBatch.h.
virtual size_t Ogre::BaseInstanceBatchVTF::getMaxLookupTableInstances | ( | ) | const [virtual, inherited] |
Definition at line 200 of file OgreInstanceBatchVTF.h.
size_t Ogre::InstanceManager::getMaxOrBestNumInstancesPerBatch | ( | String | materialName, | |
size_t | suggestedSize, | |||
uint16 | flags | |||
) | [inherited] |
Calculates the maximum (or the best amount, depending on flags) of instances per batch given the suggested size for the technique this manager was created for.
materialName | Name of the material to base on | |
suggestedSize | Suggested amount of instances per batch | |
flags |
Real Ogre::InstancedEntity::getMaxScaleCoef | ( | ) | const [inherited] |
Returns the maximum derived scale coefficient among the xyz values.
const String& Ogre::InstancedEntity::getMovableType | ( | void | ) | const [virtual, inherited] |
Returns the type name of this object.
Implements Ogre::MovableObject.
const String& Ogre::InstanceBatch::getMovableType | ( | void | ) | const [virtual, inherited] |
Returns the type name of this object. .
Implements Ogre::MovableObject.
const String& Ogre::InstanceManager::getName | ( | void | ) | const [inherited] |
Definition at line 154 of file OgreInstanceManager.h.
unsigned short Ogre::BaseInstanceBatchVTF::getNumWorldTransforms | ( | void | ) | const [virtual, inherited] |
Returns the number of world transform matrices this renderable requires.
Reimplemented from Ogre::Renderable.
unsigned short Ogre::InstanceBatchShader::getNumWorldTransforms | ( | void | ) | const [virtual, inherited] |
Returns the number of world transform matrices this renderable requires.
Reimplemented from Ogre::Renderable.
unsigned short Ogre::InstanceBatchHW::getNumWorldTransforms | ( | void | ) | const [virtual, inherited] |
Returns the number of world transform matrices this renderable requires.
Reimplemented from Ogre::Renderable.
const Quaternion& Ogre::InstancedEntity::getOrientation | ( | ) | const [inherited] |
Retrieve the orientation.
Definition at line 230 of file OgreInstancedEntity.h.
const Vector3& Ogre::InstancedEntity::getPosition | ( | ) | const [inherited] |
Retrieve the position.
Definition at line 225 of file OgreInstancedEntity.h.
void Ogre::InstanceBatch::getRenderOperation | ( | RenderOperation & | op | ) | [virtual, inherited] |
Gets the render operation required to send this object to the frame buffer. .
Implements Ogre::Renderable.
Definition at line 321 of file OgreInstanceBatch.h.
const Vector3& Ogre::InstancedEntity::getScale | ( | ) | const [inherited] |
Retrieve the local scale.
Definition at line 235 of file OgreInstancedEntity.h.
bool Ogre::InstanceManager::getSetting | ( | BatchSettingId | id, | |
const String & | materialName | |||
) | const [inherited] |
If settings for the given material didn't exist, default value is returned.
SkeletonInstance* Ogre::InstancedEntity::getSkeleton | ( | void | ) | const [inherited] |
Definition at line 207 of file OgreInstancedEntity.h.
Real Ogre::InstancedEntity::getSquaredViewDepth | ( | const Camera * | cam | ) | const [inherited] |
This is used by our batch owner to get the closest entity's depth, returns infinity when not attached to a scene node.
Real Ogre::InstanceBatch::getSquaredViewDepth | ( | const Camera * | cam | ) | const [virtual, inherited] |
Returns the camera-relative squared depth of this renderable.
Implements Ogre::Renderable.
Technique* Ogre::InstanceBatch::getTechnique | ( | void | ) | const [virtual, inherited] |
size_t Ogre::InstancedEntity::getTransforms | ( | Matrix4 * | xform | ) | const [protected, inherited] |
Returns number of matrices written to transform, assumes transform has enough space.
size_t Ogre::InstancedEntity::getTransforms3x4 | ( | float * | xform | ) | const [protected, inherited] |
Returns number of 32-bit values written.
void Ogre::BaseInstanceBatchVTF::getWorldTransforms | ( | Matrix4 * | xform | ) | const [virtual, inherited] |
Gets the world transform matrix / matrices for this renderable object.
Implements Ogre::Renderable.
void Ogre::InstanceBatchShader::getWorldTransforms | ( | Matrix4 * | xform | ) | const [virtual, inherited] |
Gets the world transform matrix / matrices for this renderable object.
Implements Ogre::Renderable.
void Ogre::InstanceBatchHW::getWorldTransforms | ( | Matrix4 * | xform | ) | const [virtual, inherited] |
Gets the world transform matrix / matrices for this renderable object.
Implements Ogre::Renderable.
bool Ogre::InstanceManager::hasSettings | ( | const String & | materialName | ) | const [inherited] |
Returns true if settings were already created for the given material name.
If false is returned, it means getSetting will return default settings.
Definition at line 245 of file OgreInstanceManager.h.
bool Ogre::InstancedEntity::hasSkeleton | ( | void | ) | const [inherited] |
Definition at line 205 of file OgreInstancedEntity.h.
Ogre::InstanceBatch::InstanceBatch | ( | InstanceManager * | creator, | |
MeshPtr & | meshReference, | |||
const MaterialPtr & | material, | |||
size_t | instancesPerBatch, | |||
const Mesh::IndexMap * | indexToBoneMap, | |||
const String & | batchName | |||
) | [inherited] |
Ogre::InstanceBatchHW::InstanceBatchHW | ( | InstanceManager * | creator, | |
MeshPtr & | meshReference, | |||
const MaterialPtr & | material, | |||
size_t | instancesPerBatch, | |||
const Mesh::IndexMap * | indexToBoneMap, | |||
const String & | batchName | |||
) | [inherited] |
Ogre::InstanceBatchHW_VTF::InstanceBatchHW_VTF | ( | InstanceManager * | creator, | |
MeshPtr & | meshReference, | |||
const MaterialPtr & | material, | |||
size_t | instancesPerBatch, | |||
const Mesh::IndexMap * | indexToBoneMap, | |||
const String & | batchName | |||
) | [inherited] |
Ogre::InstanceBatchShader::InstanceBatchShader | ( | InstanceManager * | creator, | |
MeshPtr & | meshReference, | |||
const MaterialPtr & | material, | |||
size_t | instancesPerBatch, | |||
const Mesh::IndexMap * | indexToBoneMap, | |||
const String & | batchName | |||
) | [inherited] |
Ogre::InstanceBatchVTF::InstanceBatchVTF | ( | InstanceManager * | creator, | |
MeshPtr & | meshReference, | |||
const MaterialPtr & | material, | |||
size_t | instancesPerBatch, | |||
const Mesh::IndexMap * | indexToBoneMap, | |||
const String & | batchName | |||
) | [inherited] |
Ogre::InstancedEntity::InstancedEntity | ( | InstanceBatch * | batchOwner, | |
uint32 | instanceID, | |||
InstancedEntity * | sharedTransformEntity = NULL | |||
) | [inherited] |
Ogre::InstanceManager::InstanceManager | ( | const String & | customName, | |
SceneManager * | sceneManager, | |||
const String & | meshName, | |||
const String & | groupName, | |||
InstancingTechnique | instancingTechnique, | |||
uint16 | instancingFlags, | |||
size_t | instancesPerBatch, | |||
unsigned short | subMeshIdx, | |||
bool | useBoneMatrixLookup = false | |||
) | [inherited] |
bool Ogre::InstanceBatch::isBatchFull | ( | void | ) | const [inherited] |
Definition at line 238 of file OgreInstanceBatch.h.
bool Ogre::InstanceBatch::isBatchUnused | ( | void | ) | const [inherited] |
Returns true if it no instanced entity has been requested or all of them have been removed.
Definition at line 242 of file OgreInstanceBatch.h.
virtual bool Ogre::InstancedEntity::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. .
Reimplemented from Ogre::MovableObject.
Definition at line 265 of file OgreInstancedEntity.h.
bool Ogre::InstancedEntity::isInUse | ( | ) | const [inherited] |
Tells if the entity is in use.
Definition at line 246 of file OgreInstancedEntity.h.
bool Ogre::InstanceBatchHW_VTF::isStatic | ( | ) | const [virtual, inherited] |
Returns true if this batch was set as static.
Reimplemented from Ogre::InstanceBatch.
Definition at line 102 of file OgreInstanceBatchHW_VTF.h.
bool Ogre::InstanceBatchHW::isStatic | ( | ) | const [virtual, inherited] |
Returns true if this batch was set as static.
Reimplemented from Ogre::InstanceBatch.
Definition at line 98 of file OgreInstanceBatchHW.h.
virtual bool Ogre::InstanceBatch::isStatic | ( | ) | const [virtual, inherited] |
Returns true if this batch was set as static.
Reimplemented in Ogre::InstanceBatchHW, and Ogre::InstanceBatchHW_VTF.
Definition at line 291 of file OgreInstanceBatch.h.
void Ogre::InstanceBatch::makeMatrixCameraRelative3x4 | ( | float * | mat3x4, | |
size_t | numFloats | |||
) | [protected, inherited] |
Takes an array of 3x4 matrices and makes it camera relative.
Note the second argument takes number of floats in the array, not number of matrices. Assumes mCachedCamera contains the camera which is about to be rendered to.
void Ogre::InstancedEntity::markTransformDirty | ( | ) | [protected, inherited] |
Mark the transformation matrixes as dirty.
virtual bool Ogre::InstanceBatchVTF::matricesToghetherPerRow | ( | ) | const [private, virtual, inherited] |
Affects VTF texture's width dimension.
Implements Ogre::BaseInstanceBatchVTF.
Definition at line 214 of file OgreInstanceBatchVTF.h.
virtual bool Ogre::BaseInstanceBatchVTF::matricesToghetherPerRow | ( | ) | const [protected, pure virtual, inherited] |
Affects VTF texture's width dimension.
Implemented in Ogre::InstanceBatchHW_VTF, and Ogre::InstanceBatchVTF.
virtual bool Ogre::InstanceBatchHW_VTF::matricesToghetherPerRow | ( | ) | const [protected, virtual, inherited] |
Affects VTF texture's width dimension.
Implements Ogre::BaseInstanceBatchVTF.
Definition at line 87 of file OgreInstanceBatchHW_VTF.h.
void Ogre::InstancedEntity::notifyUnlink | ( | const InstancedEntity * | slave | ) | [protected, inherited] |
Called when a slave has unlinked from us.
_OgreExport bool Ogre::operator!= | ( | const ShadowTextureConfig & | lhs, | |
const ShadowTextureConfig & | rhs | |||
) |
_OgreExport bool Ogre::operator== | ( | const ShadowTextureConfig & | lhs, | |
const ShadowTextureConfig & | rhs | |||
) |
void Ogre::InstanceBatchHW::removeBlendData | ( | ) | [private, inherited] |
void Ogre::InstanceBatch::removeInstancedEntity | ( | InstancedEntity * | instancedEntity | ) | [inherited] |
Removes an InstancedEntity from the scene retrieved with getNewInstancedEntity, putting back into a queue.
void Ogre::BaseInstanceBatchVTF::retrieveBoneIdx | ( | VertexData * | baseVertexData, | |
HWBoneIdxVec & | outBoneIdx | |||
) | [protected, inherited] |
Retrieves bone data from the original sub mesh and puts it into an appropriate buffer, later to be read when creating the vertex semantics.
Assumes outBoneIdx has enough space (base submesh vertex count)
void Ogre::BaseInstanceBatchVTF::retrieveBoneIdxWithWeights | ( | VertexData * | baseVertexData, | |
HWBoneIdxVec & | outBoneIdx, | |||
HWBoneWgtVec & | outBoneWgt | |||
) | [protected, inherited] |
void Ogre::InstanceManager::setBatchesAsStaticAndUpdate | ( | bool | bStatic | ) | [inherited] |
Tells this batch to stop updating animations, positions, rotations, and display all it's active instances. Currently only InstanceBatchHW & InstanceBatchHW_VTF support it. This option makes the batch behave pretty much like Static Geometry, but with the GPU RAM memory advantages (less VRAM, less bandwidth) and not LOD support. Very useful for billboards of trees, repeating vegetation, etc.
void Ogre::BaseInstanceBatchVTF::setBoneDualQuaternions | ( | bool | enable | ) | [inherited] |
Definition at line 181 of file OgreInstanceBatchVTF.h.
void Ogre::BaseInstanceBatchVTF::setBoneMatrixLookup | ( | bool | enable, | |
size_t | maxLookupTableInstances | |||
) | [inherited] |
Sets the state of the usage of bone matrix lookup.
Under default condition each instance entity is assigned a specific area in the vertex texture for bone matrix data. When turned on the amount of area in the vertex texture assigned for bone matrix data will be relative to the amount of unique animation states. Instanced entities sharing the same animation state will share the same area in the matrix. The specific position of each entity is placed in the vertex data and added in a second phase in the shader.
Note this feature only works in VTF_HW for now. This value needs to be set before adding any instanced entities
Definition at line 173 of file OgreInstanceBatchVTF.h.
void Ogre::BaseInstanceBatchVTF::setForceOneWeight | ( | bool | enable | ) | [inherited] |
Definition at line 186 of file OgreInstanceBatchVTF.h.
void Ogre::InstanceManager::setInstancesPerBatch | ( | size_t | instancesPerBatch | ) | [inherited] |
Raises an exception if trying to change it after creating the first InstancedEntity.
instancesPerBatch | New instances per batch number |
void Ogre::InstancedEntity::setInUse | ( | bool | used | ) | [inherited] |
Sets whether the entity is in use.
void Ogre::InstanceManager::setMaxLookupTableInstances | ( | size_t | maxLookupTableInstances | ) | [inherited] |
Sets the size of the lookup table for techniques supporting bone lookup table.
Raises an exception if trying to change it after creating the first InstancedEntity. Setting this value below the number of unique (non-sharing) entity instance animations will produce a crash during runtime. Setting this value above will increase memory consumption and reduce framerate.
maxLookupTableInstances | New size of the lookup table |
void Ogre::InstancedEntity::setOrientation | ( | const Quaternion & | orientation, | |
bool | doUpdate = true | |||
) | [inherited] |
Set the orientation or the offset from the parent node if a parent node exists.
void Ogre::InstancedEntity::setPosition | ( | const Vector3 & | position, | |
bool | doUpdate = true | |||
) | [inherited] |
Set the position or the offset from the parent node if a parent node exists.
void Ogre::InstancedEntity::setScale | ( | const Vector3 & | scale, | |
bool | doUpdate = true | |||
) | [inherited] |
Set the scale or the offset from the parent node if a parent node exists.
void Ogre::InstanceManager::setSetting | ( | BatchSettingId | id, | |
bool | value, | |||
const String & | materialName = StringUtil::BLANK | |||
) | [inherited] |
Applies a setting for all batches using the same material_ existing ones and those that will be created in the future.
id | Setting Id to setup, |
enabled | Boolean value. It's meaning depends on the id. | |
materialName | When Blank, the setting is applied to all existing materials |
void Ogre::InstanceBatchHW_VTF::setStaticAndUpdate | ( | bool | bStatic | ) | [virtual, inherited] |
Reimplemented from Ogre::InstanceBatch.
void Ogre::InstanceBatchHW::setStaticAndUpdate | ( | bool | bStatic | ) | [virtual, inherited] |
Reimplemented from Ogre::InstanceBatch.
virtual void Ogre::InstanceBatch::setStaticAndUpdate | ( | bool | bStatic | ) | [virtual, inherited] |
Tells this batch to stop updating animations, positions, rotations, and display all it's active instances.
Currently only InstanceBatchHW & InstanceBatchHW_VTF support it. This option makes the batch behave pretty much like Static Geometry, but with the GPU RAM memory advantages (less VRAM, less bandwidth) and not LOD support. Very useful for billboards of trees, repeating vegetation, etc.
Reimplemented in Ogre::InstanceBatchHW, and Ogre::InstanceBatchHW_VTF.
Definition at line 287 of file OgreInstanceBatch.h.
void Ogre::InstancedEntity::setTransformLookupNumber | ( | uint16 | num | ) | [inherited] |
Sets the transformation look up number.
Definition at line 222 of file OgreInstancedEntity.h.
void Ogre::InstanceBatchShader::setupHardwareSkinned | ( | const SubMesh * | baseSubMesh, | |
VertexData * | thisVertexData, | |||
VertexData * | baseVertexData | |||
) | [private, inherited] |
When the mesh is (hardware) skinned, a different code path is called so that we reuse the index buffers and modify them in place.
For example Instance #2 with reference to bone #5 would have BlendIndex = 2 + 5 = 7 Everything is copied identically except the VES_BLEND_INDICES semantic
void Ogre::InstanceBatchVTF::setupIndices | ( | const SubMesh * | baseSubMesh | ) | [private, virtual, inherited] |
Implements Ogre::InstanceBatch.
void Ogre::InstanceBatchShader::setupIndices | ( | const SubMesh * | baseSubMesh | ) | [private, virtual, inherited] |
Implements Ogre::InstanceBatch.
void Ogre::InstanceBatchHW_VTF::setupIndices | ( | const SubMesh * | baseSubMesh | ) | [protected, virtual, inherited] |
Implements Ogre::InstanceBatch.
void Ogre::InstanceBatchHW::setupIndices | ( | const SubMesh * | baseSubMesh | ) | [private, virtual, inherited] |
Implements Ogre::InstanceBatch.
virtual void Ogre::InstanceBatch::setupIndices | ( | const SubMesh * | baseSubMesh | ) | [protected, pure virtual, inherited] |
Implemented in Ogre::InstanceBatchHW, Ogre::InstanceBatchHW_VTF, Ogre::InstanceBatchShader, and Ogre::InstanceBatchVTF.
void Ogre::BaseInstanceBatchVTF::setupMaterialToUseVTF | ( | TextureType | textureType, | |
MaterialPtr & | material | |||
) | [protected, inherited] |
Setups the material to use a vertex texture.
void Ogre::InstanceBatchShader::setupVertices | ( | const SubMesh * | baseSubMesh | ) | [private, virtual, inherited] |
Implements Ogre::InstanceBatch.
void Ogre::InstanceBatchHW_VTF::setupVertices | ( | const SubMesh * | baseSubMesh | ) | [protected, virtual, inherited] |
Implements Ogre::InstanceBatch.
void Ogre::InstanceBatchHW::setupVertices | ( | const SubMesh * | baseSubMesh | ) | [private, virtual, inherited] |
Implements Ogre::InstanceBatch.
virtual void Ogre::InstanceBatch::setupVertices | ( | const SubMesh * | baseSubMesh | ) | [protected, pure virtual, inherited] |
Implemented in Ogre::InstanceBatchHW, Ogre::InstanceBatchHW_VTF, Ogre::InstanceBatchShader, and Ogre::InstanceBatchVTF.
void Ogre::BaseInstanceBatchVTF::setUseOneWeight | ( | bool | enable | ) | [inherited] |
Definition at line 191 of file OgreInstanceBatchVTF.h.
bool Ogre::InstancedEntity::shareTransformWith | ( | InstancedEntity * | slave | ) | [inherited] |
Shares the entire transformation with another InstancedEntity.
This is useful when a mesh has more than one submeshes, therefore creating multiple InstanceManagers (one for each submesh). With this function, sharing makes the skeleton to be shared (less memory) and updated once (performance optimization). Note that one InstancedEntity (i.e. submesh 0) must be chosen as "master" which will share with the other instanced entities (i.e. submeshes 1-N) which are called "slaves"
slave | The InstancedEntity that should share with us and become our slave |
void Ogre::InstancedEntity::stopSharingTransform | ( | ) | [inherited] |
void Ogre::InstancedEntity::unlinkTransform | ( | ) | [protected, inherited] |
Just unlinks, and tells our master we're no longer sharing.
virtual size_t Ogre::InstanceBatchHW_VTF::updateInstanceDataBuffer | ( | bool | isFirstTime, | |
Camera * | currentCamera | |||
) | [protected, virtual, inherited] |
updates the vertex buffer containing the per instance data
[in] | isFirstTime | Tells if this is the first time the buffer is being updated |
[in] | currentCamera | The camera being used for render (valid when using bone matrix lookup) |
virtual void Ogre::BaseInstanceBatchVTF::updateSharedLookupIndexes | ( | ) | [protected, virtual, inherited] |
update the lookup numbers for entities with shared transforms
void Ogre::InstancedEntity::updateTransforms | ( | ) | [inherited] |
Update the world transform and derived values.
size_t Ogre::InstanceBatchHW::updateVertexBuffer | ( | Camera * | currentCamera | ) | [private, inherited] |
void Ogre::BaseInstanceBatchVTF::updateVertexTexture | ( | void | ) | [protected, inherited] |
Keeps filling the VTF with world matrix data.
size_t Ogre::InstanceBatchHW_VTF::updateVertexTexture | ( | Camera * | currentCamera | ) | [protected, inherited] |
Keeps filling the VTF with world matrix data.
Overloaded to avoid culled objects and update visible instances' animation
void Ogre::InstanceBatch::updateVisibility | ( | void | ) | [protected, inherited] |
bool Ogre::BaseInstanceBatchVTF::useBoneDualQuaternions | ( | ) | const [inherited] |
Definition at line 184 of file OgreInstanceBatchVTF.h.
bool Ogre::BaseInstanceBatchVTF::useBoneMatrixLookup | ( | ) | const [inherited] |
Tells whether to use bone matrix lookup.
Definition at line 179 of file OgreInstanceBatchVTF.h.
virtual bool Ogre::BaseInstanceBatchVTF::useBoneWorldMatrices | ( | ) | const [virtual, inherited] |
Reimplemented from Ogre::InstanceBatch.
Definition at line 197 of file OgreInstanceBatchVTF.h.
virtual bool Ogre::InstanceBatch::useBoneWorldMatrices | ( | ) | const [virtual, inherited] |
Tells whether world bone matrices need to be calculated.
This does not include bone matrices which are calculated regardless
Reimplemented in Ogre::BaseInstanceBatchVTF.
Definition at line 312 of file OgreInstanceBatch.h.
bool Ogre::BaseInstanceBatchVTF::useOneWeight | ( | ) | const [inherited] |
Definition at line 194 of file OgreInstanceBatchVTF.h.
void Ogre::InstancedEntity::visitRenderables | ( | Renderable::Visitor * | visitor, | |
bool | debugRenderables = false | |||
) | [virtual, inherited] |
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any.
visitor | Pointer to a class implementing the Renderable::Visitor interface which will be called back for each Renderable which will be queued. Bear in mind that the state of the Renderable instances may not be finalised depending on when you call this. | |
debugRenderables | If false, only regular renderables will be visited (those for normal display). If true, debug renderables will be included too. |
Implements Ogre::MovableObject.
Definition at line 202 of file OgreInstancedEntity.h.
void Ogre::InstanceBatch::visitRenderables | ( | Renderable::Visitor * | visitor, | |
bool | debugRenderables = false | |||
) | [virtual, inherited] |
Method to allow a caller to abstractly iterate over the Renderable instances that this MovableObject will add to the render queue when asked, if any.
visitor | Pointer to a class implementing the Renderable::Visitor interface which will be called back for each Renderable which will be queued. Bear in mind that the state of the Renderable instances may not be finalised depending on when you call this. | |
debugRenderables | If false, only regular renderables will be visited (those for normal display). If true, debug renderables will be included too. |
Implements Ogre::MovableObject.
virtual Ogre::BaseInstanceBatchVTF::~BaseInstanceBatchVTF | ( | ) | [virtual, inherited] |
virtual Ogre::InstanceBatch::~InstanceBatch | ( | ) | [virtual, inherited] |
virtual Ogre::InstanceBatchHW::~InstanceBatchHW | ( | ) | [virtual, inherited] |
virtual Ogre::InstanceBatchHW_VTF::~InstanceBatchHW_VTF | ( | ) | [virtual, inherited] |
virtual Ogre::InstanceBatchShader::~InstanceBatchShader | ( | ) | [virtual, inherited] |
virtual Ogre::InstanceBatchVTF::~InstanceBatchVTF | ( | ) | [virtual, inherited] |
virtual Ogre::InstancedEntity::~InstancedEntity | ( | ) | [virtual, inherited] |
virtual Ogre::InstanceManager::~InstanceManager | ( | ) | [virtual, inherited] |
AnimationStateSet* Ogre::InstancedEntity::mAnimationState [protected, inherited] |
Definition at line 88 of file OgreInstancedEntity.h.
InstanceBatch* Ogre::InstancedEntity::mBatchOwner [protected, inherited] |
Definition at line 86 of file OgreInstancedEntity.h.
BatchSettingsMap Ogre::InstanceManager::mBatchSettings [private, inherited] |
Definition at line 117 of file OgreInstanceManager.h.
Matrix4* Ogre::InstancedEntity::mBoneMatrices [protected, inherited] |
Definition at line 90 of file OgreInstancedEntity.h.
Matrix4* Ogre::InstancedEntity::mBoneWorldMatrices [protected, inherited] |
Definition at line 91 of file OgreInstancedEntity.h.
Real Ogre::InstanceBatch::mBoundingRadius [protected, inherited] |
Definition at line 111 of file OgreInstanceBatch.h.
bool Ogre::InstanceBatch::mBoundsDirty [protected, inherited] |
Definition at line 112 of file OgreInstanceBatch.h.
bool Ogre::InstanceBatch::mBoundsUpdated [protected, inherited] |
Set to false by derived classes that need it.
Definition at line 114 of file OgreInstanceBatch.h.
const Camera* Ogre::InstanceBatch::mCachedCamera [mutable, protected, inherited] |
The camera for which the cached distance is valid.
Definition at line 128 of file OgreInstanceBatch.h.
Real Ogre::InstanceBatch::mCachedCameraDist [mutable, protected, inherited] |
Cached distance to last camera for getSquaredViewDepth.
Definition at line 126 of file OgreInstanceBatch.h.
InstanceManager* Ogre::InstanceBatch::mCreator [protected, inherited] |
Creator of this object (if created by a factory).
Reimplemented from Ogre::MovableObject.
Definition at line 95 of file OgreInstanceBatch.h.
Camera* Ogre::InstanceBatch::mCurrentCamera [protected, inherited] |
Definition at line 115 of file OgreInstanceBatch.h.
Vector3 Ogre::InstancedEntity::mDerivedLocalPosition [protected, inherited] |
Definition at line 111 of file OgreInstancedEntity.h.
bool Ogre::InstanceBatch::mDirtyAnimation [protected, inherited] |
Set to false at start of each _updateRenderQueue.
Definition at line 120 of file OgreInstanceBatch.h.
InstanceBatchVec Ogre::InstanceManager::mDirtyBatches [private, inherited] |
Definition at line 108 of file OgreInstanceManager.h.
bool Ogre::BaseInstanceBatchVTF::mForceOneWeight [protected, inherited] |
Definition at line 101 of file OgreInstanceBatchVTF.h.
unsigned long Ogre::InstancedEntity::mFrameAnimationLastUpdated [protected, inherited] |
Definition at line 92 of file OgreInstancedEntity.h.
AxisAlignedBox Ogre::InstanceBatch::mFullBoundingBox [protected, inherited] |
This bbox contains all (visible) instanced entities.
Definition at line 110 of file OgreInstanceBatch.h.
Matrix4 Ogre::InstancedEntity::mFullLocalTransform [protected, inherited] |
Full world transform.
Definition at line 119 of file OgreInstancedEntity.h.
size_t Ogre::InstanceManager::mIdCount [private, inherited] |
Definition at line 106 of file OgreInstanceManager.h.
Mesh::IndexMap const* Ogre::InstanceBatch::mIndexToBoneMap [protected, inherited] |
Definition at line 100 of file OgreInstanceBatch.h.
InstanceBatchMap Ogre::InstanceManager::mInstanceBatches [private, inherited] |
Definition at line 105 of file OgreInstanceManager.h.
InstancedEntityVec Ogre::InstanceBatch::mInstancedEntities [protected, inherited] |
Definition at line 106 of file OgreInstanceBatch.h.
uint16 Ogre::InstancedEntity::mInstanceId [protected, inherited] |
Definition at line 84 of file OgreInstancedEntity.h.
size_t Ogre::InstanceManager::mInstancesPerBatch [private, inherited] |
Definition at line 112 of file OgreInstanceManager.h.
size_t Ogre::InstanceBatch::mInstancesPerBatch [protected, inherited] |
Definition at line 93 of file OgreInstanceBatch.h.
HardwareVertexBufferSharedPtr Ogre::InstanceBatchHW_VTF::mInstanceVertexBuffer [protected, inherited] |
Definition at line 63 of file OgreInstanceBatchHW_VTF.h.
uint16 Ogre::InstanceManager::mInstancingFlags [private, inherited] |
Definition at line 114 of file OgreInstanceManager.h.
InstancingTechnique Ogre::InstanceManager::mInstancingTechnique [private, inherited] |
Definition at line 113 of file OgreInstanceManager.h.
bool Ogre::InstancedEntity::mInUse [protected, inherited] |
Definition at line 85 of file OgreInstancedEntity.h.
MaterialPtr Ogre::InstanceBatch::mMaterial [protected, inherited] |
Definition at line 97 of file OgreInstanceBatch.h.
unsigned short Ogre::InstanceBatch::mMaterialLodIndex [protected, inherited] |
Definition at line 117 of file OgreInstanceBatch.h.
size_t Ogre::BaseInstanceBatchVTF::mMatricesPerInstance [protected, inherited] |
Definition at line 81 of file OgreInstanceBatchVTF.h.
TexturePtr Ogre::BaseInstanceBatchVTF::mMatrixTexture [protected, inherited] |
Definition at line 83 of file OgreInstanceBatchVTF.h.
size_t Ogre::BaseInstanceBatchVTF::mMaxFloatsPerLine [protected, inherited] |
Definition at line 89 of file OgreInstanceBatchVTF.h.
size_t Ogre::InstanceManager::mMaxLookupTableInstances [private, inherited] |
Definition at line 120 of file OgreInstanceManager.h.
size_t Ogre::BaseInstanceBatchVTF::mMaxLookupTableInstances [protected, inherited] |
Definition at line 98 of file OgreInstanceBatchVTF.h.
Real Ogre::InstancedEntity::mMaxScaleLocal [protected, inherited] |
The maximum absolute scale for all dimension.
Definition at line 117 of file OgreInstancedEntity.h.
MeshPtr Ogre::InstanceManager::mMeshReference [private, inherited] |
Definition at line 104 of file OgreInstanceManager.h.
MeshPtr Ogre::InstanceBatch::mMeshReference [protected, inherited] |
Definition at line 99 of file OgreInstanceBatch.h.
const String Ogre::InstanceManager::mName [private, inherited] |
Definition at line 103 of file OgreInstanceManager.h.
bool Ogre::InstancedEntity::mNeedAnimTransformUpdate [protected, inherited] |
Tells if the animation world transform needs an update.
Definition at line 123 of file OgreInstancedEntity.h.
bool Ogre::InstancedEntity::mNeedTransformUpdate [protected, inherited] |
Tells if mFullTransform needs an updated.
Definition at line 121 of file OgreInstancedEntity.h.
size_t Ogre::BaseInstanceBatchVTF::mNumWorldMatrices [protected, inherited] |
Definition at line 82 of file OgreInstanceBatchVTF.h.
Quaternion Ogre::InstancedEntity::mOrientation [protected, inherited] |
Object orientation.
Definition at line 113 of file OgreInstancedEntity.h.
Vector3 Ogre::InstancedEntity::mPosition [protected, inherited] |
Object position.
Definition at line 110 of file OgreInstancedEntity.h.
bool Ogre::InstanceBatch::mRemoveOwnIndexData [protected, inherited] |
When true remove the memory of the IndexData we've created because no one else will.
Definition at line 136 of file OgreInstanceBatch.h.
bool Ogre::InstanceBatch::mRemoveOwnVertexData [protected, inherited] |
When true remove the memory of the VertexData we've created because no one else will.
Definition at line 134 of file OgreInstanceBatch.h.
RenderOperation Ogre::InstanceBatch::mRenderOperation [protected, inherited] |
Definition at line 92 of file OgreInstanceBatch.h.
size_t Ogre::BaseInstanceBatchVTF::mRowLength [protected, inherited] |
Definition at line 91 of file OgreInstanceBatchVTF.h.
Vector3 Ogre::InstancedEntity::mScale [protected, inherited] |
Object scale.
Definition at line 115 of file OgreInstancedEntity.h.
SceneManager* Ogre::InstanceManager::mSceneManager [private, inherited] |
Definition at line 118 of file OgreInstanceManager.h.
RenderOperation Ogre::InstanceManager::mSharedRenderOperation [private, inherited] |
Definition at line 110 of file OgreInstanceManager.h.
InstancedEntity* Ogre::InstancedEntity::mSharedTransformEntity [protected, inherited] |
Definition at line 94 of file OgreInstancedEntity.h.
InstancedEntityVec Ogre::InstancedEntity::mSharingPartners [protected, inherited] |
Definition at line 102 of file OgreInstancedEntity.h.
SkeletonInstance* Ogre::InstancedEntity::mSkeletonInstance [protected, inherited] |
Definition at line 89 of file OgreInstancedEntity.h.
NameGenerator Ogre::InstancedEntity::msNameGenerator [static, protected, inherited] |
Incremented count for next name extension.
Definition at line 150 of file OgreInstancedEntity.h.
unsigned short Ogre::InstanceManager::mSubMeshIdx [private, inherited] |
Definition at line 115 of file OgreInstanceManager.h.
bool Ogre::InstanceBatch::mTechnSupportsSkeletal [protected, inherited] |
False if a technique doesn't support skeletal animation.
Definition at line 123 of file OgreInstanceBatch.h.
float* Ogre::BaseInstanceBatchVTF::mTempTransformsArray3x4 [protected, inherited] |
Definition at line 94 of file OgreInstanceBatchVTF.h.
uint16 Ogre::InstancedEntity::mTransformLookupNumber [protected, inherited] |
Used in conjunction with bone matrix lookup.
Tells the number of the transform for as arranged in the vertex texture
Definition at line 98 of file OgreInstancedEntity.h.
bool Ogre::InstanceBatch::mTransformSharingDirty [protected, inherited] |
Tells that the list of entity instances with shared transforms has changed.
Definition at line 131 of file OgreInstanceBatch.h.
InstancedEntityVec Ogre::InstanceBatch::mUnusedEntities [protected, inherited] |
Definition at line 107 of file OgreInstanceBatch.h.
bool Ogre::BaseInstanceBatchVTF::mUseBoneDualQuaternions [protected, inherited] |
Definition at line 100 of file OgreInstanceBatchVTF.h.
bool Ogre::BaseInstanceBatchVTF::mUseBoneMatrixLookup [protected, inherited] |
Definition at line 97 of file OgreInstanceBatchVTF.h.
bool Ogre::InstancedEntity::mUseLocalTransform [protected, inherited] |
Tells whether to use the local transform parameters.
Definition at line 125 of file OgreInstancedEntity.h.
bool Ogre::BaseInstanceBatchVTF::mUseOneWeight [protected, inherited] |
Definition at line 102 of file OgreInstanceBatchVTF.h.
size_t Ogre::BaseInstanceBatchVTF::mWeightCount [protected, inherited] |
Definition at line 92 of file OgreInstanceBatchVTF.h.
size_t Ogre::BaseInstanceBatchVTF::mWidthFloatsPadding [protected, inherited] |
Definition at line 88 of file OgreInstanceBatchVTF.h.
friend class BaseInstanceBatchVTF [friend, inherited] |
Definition at line 82 of file OgreInstancedEntity.h.
friend class InstanceBatchHW [friend, inherited] |
Definition at line 80 of file OgreInstancedEntity.h.
friend class InstanceBatchHW_VTF [friend, inherited] |
Definition at line 81 of file OgreInstancedEntity.h.
friend class InstanceBatchShader [friend, inherited] |
Definition at line 79 of file OgreInstancedEntity.h.
Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:36:30 2012