Go to the documentation of this file.
29 #ifndef __OgreManualObject_H__
30 #define __OgreManualObject_H__
124 virtual void clear(
void);
133 virtual void estimateVertexCount(
size_t vcount);
142 virtual void estimateIndexCount(
size_t icount);
153 virtual void begin(
const String& materialName,
174 virtual void beginUpdate(
size_t sectionIndex);
182 virtual void position(
const Vector3& pos);
191 virtual void normal(
const Vector3& norm);
202 virtual void tangent(
const Vector3& tan);
214 virtual void textureCoord(
Real u);
216 virtual void textureCoord(
Real u,
Real v);
222 virtual void textureCoord(
const Vector2& uv);
224 virtual void textureCoord(
const Vector3& uvw);
226 virtual void textureCoord(
const Vector4& xyzw);
247 virtual void index(
uint32 idx);
268 virtual size_t getCurrentVertexCount()
const;
271 virtual size_t getCurrentIndexCount()
const;
277 virtual ManualObjectSection* end(
void);
313 void setUseIdentityProjection(
bool useIdentityProjection);
335 void setUseIdentityView(
bool useIdentityView);
359 ManualObjectSection* getSection(
unsigned int index)
const;
363 unsigned int getNumSections(
void)
const;
383 const String& getMovableType(
void)
const;
387 Real getBoundingRadius(
void)
const;
393 bool hasEdgeList(
void);
395 ShadowRenderableListIterator getShadowVolumeRenderableIterator(
398 bool extrudeVertices,
Real extrusionDist,
unsigned long flags = 0);
437 void getWorldTransforms(
Matrix4* xform)
const;
459 bool createSeparateLightCap,
bool isLightCap =
false);
462 void getWorldTransforms(
Matrix4* xform)
const;
476 bool debugRenderables =
false);
539 virtual void resetTempAreas(
void);
541 virtual void resizeTempVertexBufferIfNeeded(
size_t numVerts);
543 virtual void resizeTempIndexBufferIfNeeded(
size_t numInds);
546 virtual void copyTempVertexToBuffer(
void);
562 const String& getType(
void)
const;
Temporary vertex structure.
bool mFirstVertex
First vertex indicator.
size_t mTempIndexSize
System memory allocation size, in bytes.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
bool get32BitIndices() const
Get whether we need 32-bit indices.
vector< ShadowRenderable * >::type ShadowRenderableList
A viewpoint from which the scene will be rendered.
ushort mTexCoordIndex
Current texture coordinate.
Real mRadius
Bounding sphere.
bool mAnyIndexed
Any indexed geometry on any sections?
Class which represents the renderable aspects of a set of shadow volume faces.
ShadowTechnique
An enumeration of broad shadow techniques.
Representation of a dynamic light source in the scene.
bool getUseIdentityView(void) const
Returns whether or not to use an 'identity' view.
Abstract class defining a movable object in a scene.
Shared pointer implementation used to share index buffers.
Nested class to allow shadows.
static String AUTODETECT_RESOURCE_GROUP_NAME
Special resource group name which causes resource group to be automatically determined based on searc...
EdgeData * mEdgeList
Edge list, used if stencil shadow casting is enabled.
Class providing a much simplified interface to generating manual objects with custom geometry.
char * mTempVertexBuffer
System-memory buffer whilst we establish the size required.
const String & getMaterialGroup(void) const
Retrieve the material group in use.
HardwareVertexBufferSharedPtr getPositionBuffer(void)
HardwareVertexBufferSharedPtr mPositionBuffer
Interface definition for a factory class which produces a certain kind of MovableObject,...
bool getKeepDeclarationOrder() const
Gets whether or not the declaration order is to be kept or not.
size_t mEstVertexCount
Estimated vertex count.
@ OT_TRIANGLE_LIST
A list of triangles, 3 vertices per triangle.
bool mCurrentUpdating
Are we updating?
map< String, String >::type NameValuePairList
Name / value parameter pair (first = name, second = value)
ManualObjectSection * mCurrentSection
Current section.
HardwareVertexBufferSharedPtr mWBuffer
Built, renderable section of geometry.
Summary class collecting together vertex source information.
bool mKeepDeclarationOrder
Keep declaration order or let the queue optimize it.
virtual bool getDynamic() const
Gets whether this object is marked as dynamic.
#define OGRE_MAX_TEXTURE_COORD_SETS
Define number of texture coordinate sets allowed per vertex.
static String FACTORY_TYPE_NAME
Class encapsulating a standard 4x4 homogeneous matrix.
void set32BitIndices(bool n32)
Set whether we need 32-bit indices.
bool getUseIdentityProjection(void) const
Returns whether or not to use an 'identity' projection.
bool mUseIdentityProjection
Whether to use identity projection for sections.
Shared pointer implementation used to share vertex buffers.
SectionList mSectionList
List of subsections.
size_t mTempVertexSize
System memory allocation size, in bytes.
static String DEFAULT_RESOURCE_GROUP_NAME
Default resource group name.
const String & getMaterialName(void) const
Retrieve the material name in use.
size_t mDeclSize
Current declaration vertex size.
A 3D box aligned with the x/y/z axes.
void setBoundingBox(const AxisAlignedBox &box)
Sets the bounding box.
RenderOperation mRenderOperation
Factory object for creating ManualObject instances.
size_t mEstIndexCount
Estimated index count.
AxisAlignedBox mAABB
Bounding box.
ShadowRenderableList mShadowRenderables
List of shadow renderables.
Class representing colour.
4-dimensional homogeneous vector.
Standard 2-dimensional vector.
Visitor object that can be used to iterate over a collection of Renderable instances abstractly.
Abstract class defining the interface all renderable objects must implement.
bool mUseIdentityView
Whether to use identity view for sections.
void setKeepDeclarationOrder(bool keepOrder)
Sets whether or not to keep the original declaration order when queuing the renderables.
vector< ManualObjectSection * >::type SectionList
float Real
Software floating point type.
This class contains the information required to describe the edge connectivity of a given set of vert...
bool mTempVertexPending
Temp vertex data to copy?
OperationType
The rendering operation type to perform.
virtual void setDynamic(bool dyn)
Use before defining geometry to indicate that you intend to update the geometry regularly and want th...
HardwareVertexBufferSharedPtr getWBuffer(void)
TempVertex mTempVertex
Temp storage.
Standard 3-dimensional vector.
'New' rendering operation using vertex buffers.
Class to manage the scene object rendering queue.
uint32 * mTempIndexBuffer
System-memory buffer whilst we establish the size required.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15