Mount Fuji Engine  0.8b
Data Structures | Enumerations | Functions
Vertex data access

Data Structures

struct  MFVertexElement
 Describes a vertex element. More...
 
struct  MFMesh
 Describe a renderable mesh. More...
 
struct  MFVertexDeclaration
 Represents the layout of a vertex buffer. More...
 
struct  MFVertexBuffer
 Represents a Fuji vertex buffer. More...
 
struct  MFIndexBuffer
 Represents a Fuji index buffer. More...
 

Enumerations

enum  MFVertexDataFormat {
  MFVDF_Unknown = -1, MFVDF_Auto = 0, MFVDF_Float4, MFVDF_Float3,
  MFVDF_Float2, MFVDF_Float1, MFVDF_UByte4_RGBA, MFVDF_UByte4N_RGBA,
  MFVDF_UByte4N_BGRA, MFVDF_SShort4, MFVDF_SShort2, MFVDF_SShort4N,
  MFVDF_SShort2N, MFVDF_UShort4, MFVDF_UShort2, MFVDF_UShort4N,
  MFVDF_UShort2N, MFVDF_Float16_4, MFVDF_Float16_2, MFVDF_UDec3,
  MFVDF_Dec3N, MFVDF_Max, MFVDF_ForceInt = 0x7FFFFFFF
}
 Vertex data format. More...
 
enum  MFVertexBufferType {
  MFVBType_Static, MFVBType_Dynamic, MFVBType_Scratch, MFVBType_Max,
  MFVBType_ForceInt = 0x7FFFFFFF
}
 Vertex buffer type. More...
 
enum  MFVertexElementType {
  MFVET_Position, MFVET_Normal, MFVET_Colour, MFVET_TexCoord,
  MFVET_Binormal, MFVET_Tangent, MFVET_Indices, MFVET_Weights,
  MFVET_Max, MFVET_ForceInt = 0x7FFFFFFF
}
 Vertex element type. More...
 
enum  MFPrimType {
  MFPT_Points, MFPT_LineList, MFPT_LineStrip, MFPT_TriangleList,
  MFPT_TriangleStrip, MFPT_TriangleFan, MFPT_QuadList, MFPT_Max,
  MFPT_ForceInt = 0x7FFFFFFF
}
 Primitive Types. More...
 

Functions

MF_API MFVertexDeclarationMFVertex_CreateVertexDeclaration (const MFVertexElement *pElementArray, int elementCount)
 Create a vertex declaration. More...
 
MF_API int MFVertex_ReleaseVertexDeclaration (MFVertexDeclaration *pDeclaration)
 Release a vertex declaration. More...
 
MF_API const MFVertexDeclarationMFVertex_GetStreamDeclaration (const MFVertexDeclaration *pDeclaration, int stream)
 Get the declaration for a vertex stream. More...
 
MF_API MFVertexBufferMFVertex_CreateVertexBuffer (const MFVertexDeclaration *pVertexFormat, int numVerts, MFVertexBufferType type, void *pVertexBufferMemory=NULL, const char *pName=NULL)
 Create a vertex buffer. More...
 
MF_API int MFVertex_ReleaseVertexBuffer (MFVertexBuffer *pVertexBuffer)
 Release a vertex buffer. More...
 
MF_API void MFVertex_LockVertexBuffer (MFVertexBuffer *pVertexBuffer, void **ppVertices)
 Lock a vertex buffer. More...
 
MF_API void MFVertex_UnlockVertexBuffer (MFVertexBuffer *pVertexBuffer)
 Unlock a vertex buffer. More...
 
MF_API void MFVertex_CopyVertexData (MFVertexBuffer *pVertexBuffer, MFVertexElementType targetElement, int targetElementIndex, const void *pSourceData, MFVertexDataFormat sourceDataFormat, int sourceDataStride, int numVertices)
 Copy a vertex element stream into a vertex buffer. More...
 
MF_API MFIndexBufferMFVertex_CreateIndexBuffer (int numIndices, uint16 *pIndexBufferMemory=NULL, const char *pName=NULL)
 Create an index buffer. More...
 
MF_API int MFVertex_ReleaseIndexBuffer (MFIndexBuffer *pIndexBuffer)
 Release an index buffer. More...
 
MF_API void MFVertex_LockIndexBuffer (MFIndexBuffer *pIndexBuffer, uint16 **ppIndices)
 Lock an index buffer. More...
 
MF_API void MFVertex_UnlockIndexBuffer (MFIndexBuffer *pIndexBuffer)
 Unlock an index buffer. More...
 

Detailed Description