5 #ifndef __I_MESH_BUFFER_H_INCLUDED__ 6 #define __I_MESH_BUFFER_H_INCLUDED__ 121 virtual void append(
const void*
const vertices,
u32 numVertices,
const u16*
const indices,
u32 numIndices) = 0;
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0
set the hardware mapping hint, for driver
virtual void recalculateBoundingBox()=0
Recalculates the bounding box. Should be called if the mesh changed.
virtual u32 getChangedID_Index() const =0
Get the currently used ID for identification of changes.
All vertices are non-connected points.
E_PRIMITIVE_TYPE
Enumeration for all primitive types there are.
virtual u32 getIndexCount() const =0
Get amount of indices in this meshbuffer.
virtual const core::aabbox3df & getBoundingBox() const =0
Get the axis aligned bounding box of this meshbuffer.
virtual void setBoundingBox(const core::aabbox3df &box)=0
Set axis aligned bounding box.
virtual const core::vector2df & getTCoords(u32 i) const =0
returns texture coord of vertex i
GLuint GLuint GLsizei GLenum const GLvoid * indices
virtual const core::vector3df & getPosition(u32 i) const =0
returns position of vertex i
virtual void append(const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices)=0
Append the vertices and indices to the current buffer.
Everything in the Irrlicht Engine can be found in this namespace.
virtual const core::vector3df & getNormal(u32 i) const =0
returns normal of vertex i
virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0
flags the meshbuffer as changed, reloads hardware buffers
unsigned short u16
16 bit unsigned variable.
virtual u32 getChangedID_Vertex() const =0
Get the currently used ID for identification of changes.
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const =0
get the current hardware mapping hint
Every two vertices are connected creating n/2 lines.
Struct for holding a mesh with a single material.
virtual E_PRIMITIVE_TYPE getPrimitiveType() const =0
Get the kind of primitive geometry which is used by the meshbuffer.
unsigned int u32
32 bit unsigned variable.
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Index() const =0
get the current hardware mapping hint
Explicitly set all vertices for each triangle.
Change both vertex and index mapping to the same value.
virtual u32 getPrimitiveCount() const
Calculate how many geometric primitives are used by this meshbuffer.
virtual u32 getVertexCount() const =0
Get amount of vertices in meshbuffer.
virtual video::E_INDEX_TYPE getIndexType() const =0
Get type of index data which is stored in this meshbuffer.
virtual const u16 * getIndices() const =0
Get access to indices.
virtual video::SMaterial & getMaterial()=0
Get the material of this meshbuffer.
The single vertices are expanded to quad billboards on the GPU.
virtual void setPrimitiveType(E_PRIMITIVE_TYPE type)=0
Describe what kind of primitive geometry is used by the meshbuffer.
Base class of most objects of the Irrlicht Engine.
virtual const void * getVertices() const =0
Get access to vertex data. The data is an array of vertices.
GLuint GLuint GLsizei GLenum type
E_VERTEX_TYPE
Enumeration for all vertex types there are.
Struct for holding parameters for a material renderer.
virtual video::E_VERTEX_TYPE getVertexType() const =0
Get type of vertex data which is stored in this meshbuffer.
All vertices form a single connected line.
Just as LINE_STRIP, but the last and the first vertex is also connected.