5 #ifndef __I_SKIN_MESH_BUFFER_H_INCLUDED__ 6 #define __I_SKIN_MESH_BUFFER_H_INCLUDED__ virtual void append(const IMeshBuffer *const other) _IRR_OVERRIDE_
append the meshbuffer to the current buffer
virtual u32 getChangedID_Vertex() const _IRR_OVERRIDE_
Get the currently used ID for identification of changes.
Change the vertex mapping.
SSkinMeshBuffer(video::E_VERTEX_TYPE vt=video::EVT_STANDARD)
Default constructor.
core::array< video::S3DVertex2TCoords > Vertices_2TCoords
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Index() const _IRR_OVERRIDE_
get the current hardware mapping hint for index buffers
E_PRIMITIVE_TYPE
Enumeration for all primitive types there are.
E_HARDWARE_MAPPING MappingHint_Index
virtual video::S3DVertex * getVertex(u32 index)
Get standard vertex at given index.
video::E_VERTEX_TYPE VertexType
virtual u32 getIndexCount() const _IRR_OVERRIDE_
Get index count.
core::vector3df Pos
Position.
GLuint GLuint GLsizei GLenum const GLvoid * indices
virtual core::vector3df & getNormal(u32 i) _IRR_OVERRIDE_
returns normal of vertex i
bool BoundingBoxNeedsRecalculated
void convertTo2TCoords()
Convert to 2tcoords vertex type.
const T * const_pointer() const
Gets a const pointer to the array.
virtual const core::vector3df & getPosition(u32 i) const _IRR_OVERRIDE_
returns position of vertex i
E_HARDWARE_MAPPING MappingHint_Vertex
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const _IRR_OVERRIDE_
get the current hardware mapping hint for vertex buffers
void convertToTangents()
Convert to tangents vertex type.
Everything in the Irrlicht Engine can be found in this namespace.
virtual const void * getVertices() const _IRR_OVERRIDE_
Get pointer to vertex array.
Don't store on the hardware.
virtual const core::vector2df & getTCoords(u32 i) const _IRR_OVERRIDE_
returns texture coords of vertex i
virtual video::SMaterial & getMaterial() _IRR_OVERRIDE_
Get Material of this buffer.
void boundingBoxNeedsRecalculated(void)
Call this after changing the positions of any vertex.
Vertex with two texture coordinates, video::S3DVertex2TCoords.
void reset(T x, T y, T z)
Resets the bounding box to a one-point box.
virtual E_PRIMITIVE_TYPE getPrimitiveType() const _IRR_OVERRIDE_
Get the kind of primitive geometry which is used by the meshbuffer.
unsigned short u16
16 bit unsigned variable.
virtual void append(const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices) _IRR_OVERRIDE_
append the vertices and indices to the current buffer
A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime.
virtual video::E_VERTEX_TYPE getVertexType() const _IRR_OVERRIDE_
Get vertex type.
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING NewMappingHint, E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX) _IRR_OVERRIDE_
set the hardware mapping hint, for driver
Vertex with two texture coordinates.
core::array< video::S3DVertex > Vertices_Standard
Struct for holding a mesh with a single material.
Vertex with a tangent and binormal vector, video::S3DVertexTangents.
virtual const core::vector3df & getNormal(u32 i) const _IRR_OVERRIDE_
returns normal of vertex i
virtual u32 getChangedID_Index() const _IRR_OVERRIDE_
Get the currently used ID for identification of changes.
virtual u16 * getIndices() _IRR_OVERRIDE_
Get pointer to index array.
virtual void * getVertices() _IRR_OVERRIDE_
Get pointer to vertex array.
core::aabbox3d< f32 > BoundingBox
virtual const core::aabbox3d< f32 > & getBoundingBox() const _IRR_OVERRIDE_
Get bounding box.
unsigned int u32
32 bit unsigned variable.
Standard vertex type used by the Irrlicht engine, video::S3DVertex.
Explicitly set all vertices for each triangle.
Change both vertex and index mapping to the same value.
video::SMaterial Material
u32 size() const
Get number of occupied elements of the array.
virtual video::E_INDEX_TYPE getIndexType() const _IRR_OVERRIDE_
Get type of index data which is stored in this meshbuffer.
standard vertex used by the Irrlicht engine.
core::array< video::S3DVertexTangents > Vertices_Tangents
core::array< u16 > Indices
virtual void setDirty(E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX) _IRR_OVERRIDE_
flags the mesh as changed, reloads hardware buffers
4x4 matrix. Mostly used as transformation matrix for 3d calculations.
Change the index mapping.
void addInternalPoint(const vector3d< T > &p)
Adds a point to the bounding box.
virtual const u16 * getIndices() const _IRR_OVERRIDE_
Get pointer to index array.
Self reallocating template array (like stl vector) with additional features.
#define _IRR_OVERRIDE_
Defines an override macro, to protect virtual functions from typos and other mismatches.
virtual void recalculateBoundingBox() _IRR_OVERRIDE_
Recalculate bounding box.
virtual void setBoundingBox(const core::aabbox3df &box) _IRR_OVERRIDE_
Set bounding box.
void setDebugName(const c8 *newName)
Sets the debug name of the object.
virtual const video::SMaterial & getMaterial() const _IRR_OVERRIDE_
Get Material of this buffer.
virtual core::vector3df & getPosition(u32 i) _IRR_OVERRIDE_
returns position of vertex i
core::matrix4 Transformation
GLuint GLuint GLsizei GLenum type
E_PRIMITIVE_TYPE PrimitiveType
Primitive type used for rendering (triangles, lines, ...)
E_VERTEX_TYPE
Enumeration for all vertex types there are.
core::vector2d< f32 > TCoords
Texture coordinates.
core::vector3df Normal
Normal vector.
virtual core::vector2df & getTCoords(u32 i) _IRR_OVERRIDE_
returns texture coords of vertex i
Vertex with a tangent and binormal vector.
Struct for holding parameters for a material renderer.
T * pointer()
Gets a pointer to the array.
virtual u32 getVertexCount() const _IRR_OVERRIDE_
Get vertex count.
virtual void setPrimitiveType(E_PRIMITIVE_TYPE type) _IRR_OVERRIDE_
Describe what kind of primitive geometry is used by the meshbuffer.