5#ifndef __I_SKIN_MESH_BUFFER_H_INCLUDED__
6#define __I_SKIN_MESH_BUFFER_H_INCLUDED__
110 return Indices.const_pointer();
329 virtual void append(
const void*
const vertices,
u32 numVertices,
const u16*
const indices,
u32 numIndices) {}
void setDebugName(const c8 *newName)
Sets the debug name of the object.
Axis aligned bounding box in 3d dimensional space.
Self reallocating template array (like stl vector) with additional features.
Struct for holding a mesh with a single material.
Struct for holding parameters for a material renderer.
vector3d< f32 > vector3df
Typedef for a f32 3d vector.
vector2d< f32 > vector2df
Typedef for f32 2d vector.
CMatrix4< f32 > matrix4
Typedef for f32 matrix.
aabbox3d< f32 > aabbox3df
Typedef for a f32 3d bounding box.
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees a...
@ EBT_VERTEX_AND_INDEX
Change both vertex and index mapping to the same value.
@ EBT_INDEX
Change the index mapping.
@ EBT_VERTEX
Change the vertex mapping.
@ EHM_NEVER
Don't store on the hardware.
E_VERTEX_TYPE
Enumeration for all vertex types there are.
@ EVT_2TCOORDS
Vertex with two texture coordinates, video::S3DVertex2TCoords.
@ EVT_TANGENTS
Vertex with a tangent and binormal vector, video::S3DVertexTangents.
@ EVT_STANDARD
Standard vertex type used by the Irrlicht engine, video::S3DVertex.
Everything in the Irrlicht Engine can be found in this namespace.
unsigned int u32
32 bit unsigned variable.
unsigned short u16
16 bit unsigned variable.
virtual u32 getVertexCount() const
Get vertex count.
virtual video::E_INDEX_TYPE getIndexType() const
Get type of index data which is stored in this meshbuffer.
bool BoundingBoxNeedsRecalculated
core::aabbox3d< f32 > BoundingBox
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const
get the current hardware mapping hint for vertex buffers
video::SMaterial Material
core::array< video::S3DVertex > Vertices_Standard
virtual u16 * getIndices()
Get pointer to index array.
core::array< video::S3DVertex2TCoords > Vertices_2TCoords
virtual const core::vector2df & getTCoords(u32 i) const
returns texture coords of vertex i
E_HARDWARE_MAPPING MappingHint_Index
virtual void convertTo2TCoords()
Convert to 2tcoords vertex type.
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Index() const
get the current hardware mapping hint for index buffers
video::E_VERTEX_TYPE VertexType
virtual void append(const IMeshBuffer *const other)
append the meshbuffer to the current buffer
virtual u32 getChangedID_Index() const
Get the currently used ID for identification of changes.
core::array< u16 > Indices
virtual const void * getVertices() const
Get pointer to vertex array.
virtual const core::vector3df & getPosition(u32 i) const
returns position of vertex i
virtual core::vector3df & getNormal(u32 i)
returns normal of vertex i
virtual core::vector2df & getTCoords(u32 i)
returns texture coords of vertex i
virtual video::E_VERTEX_TYPE getVertexType() const
Get vertex type.
virtual void * getVertices()
Get pointer to vertex array.
virtual const core::aabbox3d< f32 > & getBoundingBox() const
Get bounding box.
virtual u32 getChangedID_Vertex() const
Get the currently used ID for identification of changes.
virtual void convertToTangents()
Convert to tangents vertex type.
core::array< video::S3DVertexTangents > Vertices_Tangents
SSkinMeshBuffer(video::E_VERTEX_TYPE vt=video::EVT_STANDARD)
Default constructor.
E_HARDWARE_MAPPING MappingHint_Vertex
virtual void setBoundingBox(const core::aabbox3df &box)
Set bounding box.
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING NewMappingHint, E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX)
set the hardware mapping hint, for driver
virtual core::vector3df & getPosition(u32 i)
returns position of vertex i
virtual video::S3DVertex * getVertex(u32 index)
Get standard vertex at given index.
virtual video::SMaterial & getMaterial()
Get Material of this buffer.
virtual const video::SMaterial & getMaterial() const
Get Material of this buffer.
virtual u32 getIndexCount() const
Get index count.
core::matrix4 Transformation
virtual const core::vector3df & getNormal(u32 i) const
returns normal of vertex i
virtual void append(const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices)
append the vertices and indices to the current buffer
virtual void setDirty(E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX)
flags the mesh as changed, reloads hardware buffers
void boundingBoxNeedsRecalculated(void)
Call this after changing the positions of any vertex.
virtual const u16 * getIndices() const
Get pointer to index array.
virtual void recalculateBoundingBox()
Recalculate bounding box.
Vertex with two texture coordinates.
standard vertex used by the Irrlicht engine.
core::vector2d< f32 > TCoords
Texture coordinates.
core::vector3df Normal
Normal vector.
core::vector3df Pos
Position.
Vertex with a tangent and binormal vector.