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;
313 void setUseIdentityProjection(
bool useIdentityProjection);
335 void setUseIdentityView(
bool useIdentityView);
363 unsigned int getNumSections(
void)
const;
383 const String& getMovableType(
void)
const;
387 Real getBoundingRadius(
void)
const;
393 bool hasEdgeList(
void);
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;
Class which represents the renderable aspects of a set of shadow volume faces.
Nested class to allow shadows.
Concrete IteratorWrapper for nonconst access to the underlying container.
Factory object for creating ManualObject instances.
Abstract class defining the interface all renderable objects must implement.
bool getKeepDeclarationOrder() const
Gets whether or not the declaration order is to be kept or not.
bool mUseIdentityView
Whether to use identity view for sections.
Abstract class defining a movable object in a scene.
Shared pointer implementation used to share index buffers.
bool mCurrentUpdating
Are we updating?
void setKeepDeclarationOrder(bool keepOrder)
Sets whether or not to keep the original declaration order when queuing the renderables.
Summary class collecting together vertex source information.
static String FACTORY_TYPE_NAME
4-dimensional homogeneous vector.
bool mKeepDeclarationOrder
Keep declaration order or let the queue optimize it.
static String AUTODETECT_RESOURCE_GROUP_NAME
Special resource group name which causes resource group to be automatically determined based on searc...
Standard 2-dimensional vector.
Class representing colour.
float Real
Software floating point type.
Class to manage the scene object rendering queue.
TempVertex mTempVertex
Temp storage.
HardwareVertexBufferSharedPtr mWBuffer
virtual void setDynamic(bool dyn)
Use before defining geometry to indicate that you intend to update the geometry regularly and want th...
bool getUseIdentityView(void) const
Returns whether or not to use an 'identity' view.
static String DEFAULT_RESOURCE_GROUP_NAME
Default resource group name.
ShadowTechnique
An enumeration of broad shadow techniques.
bool mTempVertexPending
Temp vertex data to copy?
Class providing a much simplified interface to generating manual objects with custom geometry...
This class contains the information required to describe the edge connectivity of a given set of vert...
HardwareVertexBufferSharedPtr getPositionBuffer(void)
Temporary vertex structure.
SectionList mSectionList
List of subsections.
Class encapsulating a standard 4x4 homogeneous matrix.
Standard 3-dimensional vector.
RenderOperation mRenderOperation
Shared pointer implementation used to share vertex buffers.
size_t mEstVertexCount
Estimated vertex count.
ShadowRenderableList mShadowRenderables
List of shadow renderables.
Visitor object that can be used to iterate over a collection of Renderable instances abstractly...
bool mFirstVertex
First vertex indicator.
Built, renderable section of geometry.
EdgeData * mEdgeList
Edge list, used if stencil shadow casting is enabled.
char * mTempVertexBuffer
System-memory buffer whilst we establish the size required.
map< String, String >::type NameValuePairList
Name / value parameter pair (first = name, second = value)
void set32BitIndices(bool n32)
Set whether we need 32-bit indices.
ManualObjectSection * mCurrentSection
Current section.
OperationType
The rendering operation type to perform.
size_t mEstIndexCount
Estimated index count.
A viewpoint from which the scene will be rendered.
virtual bool getDynamic() const
Gets whether this object is marked as dynamic.
HardwareVertexBufferSharedPtr mPositionBuffer
ushort mTexCoordIndex
Current texture coordinate.
#define OGRE_MAX_TEXTURE_COORD_SETS
Define number of texture coordinate sets allowed per vertex.
bool getUseIdentityProjection(void) const
Returns whether or not to use an 'identity' projection.
Real mRadius
Bounding sphere.
A list of triangles, 3 vertices per triangle.
size_t mTempVertexSize
System memory allocation size, in bytes.
AxisAlignedBox mAABB
Bounding box.
vector< ManualObjectSection * >::type SectionList
const String & getMaterialName(void) const
Retrieve the material name in use.
void setBoundingBox(const AxisAlignedBox &box)
Sets the bounding box.
'New' rendering operation using vertex buffers.
bool mUseIdentityProjection
Whether to use identity projection for sections.
uint32 * mTempIndexBuffer
System-memory buffer whilst we establish the size required.
HardwareVertexBufferSharedPtr getWBuffer(void)
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.
A 3D box aligned with the x/y/z axes.
bool get32BitIndices() const
Get whether we need 32-bit indices.
const String & getMaterialGroup(void) const
Retrieve the material group in use.
size_t mDeclSize
Current declaration vertex size.
size_t mTempIndexSize
System memory allocation size, in bytes.
bool mAnyIndexed
Any indexed geometry on any sections?
Representation of a dynamic light source in the scene.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...