11 #ifndef CAL_HARDWAREMODEL_H
12 #define CAL_HARDWAREMODEL_H
15 #include "cal3d/global.h"
16 #include "cal3d/coresubmesh.h"
29 std::vector<int> m_vectorBonesIndices;
44 void setVertexBuffer(
char * pVertexBuffer,
int stride);
45 void setIndexBuffer( CalIndex * pIndexBuffer);
46 void setNormalBuffer(
char * pNormalBuffer,
int stride);
47 void setWeightBuffer(
char * pWeightBuffer,
int stride);
48 void setMatrixIndexBuffer(
char * pMatrixIndexBuffer,
int stride);
49 void setTextureCoordNum(
int textureCoordNum);
50 void setTextureCoordBuffer(
int mapId,
char * pTextureCoordBuffer,
int stride);
51 void setTangentSpaceBuffer(
int mapId,
char * pTangentSpaceBuffer,
int stride);
52 void setCoreMeshIds(
const std::vector<int>& coreMeshIds);
54 bool load(
int baseVertexIndex,
int startIndex,
int maxBonesPerMesh);
56 std::vector<CalHardwareMesh> & getVectorHardwareMesh();
57 void getAmbientColor(
unsigned char *pColorBuffer);
58 void getDiffuseColor(
unsigned char *pColorBuffer);
59 void getSpecularColor(
unsigned char *pColorBuffer);
65 int getHardwareMeshCount();
70 int getBaseVertexIndex();
73 int getTotalFaceCount();
74 int getTotalVertexCount();
76 Cal::UserData getMapUserData(
int mapId);
78 bool selectHardwareMesh(
size_t meshId);
81 bool canAddFace(CalHardwareMesh &hardwareMesh,
CalCoreSubmesh::Face & face,std::vector<CalCoreSubmesh::Vertex>& vectorVertex,
int maxBonesPerMesh);
82 int addVertex(CalHardwareMesh &hardwareMesh,
int indice ,
CalCoreSubmesh *pCoreSubmesh,
int maxBonesPerMesh);
83 int addBoneIndice(CalHardwareMesh &hardwareMesh,
int Indice,
int maxBonesPerMesh);
88 std::vector<CalHardwareMesh> m_vectorHardwareMesh;
89 std::vector<CalIndex> m_vectorVertexIndiceUsed;
90 int m_selectedHardwareMesh;
91 std::vector<int> m_coreMeshIds;
95 char * m_pVertexBuffer;
97 char * m_pNormalBuffer;
99 char * m_pWeightBuffer;
101 char * m_pMatrixIndexBuffer;
102 int m_matrixIndexStride;
103 char * m_pTextureCoordBuffer[8];
104 int m_textureCoordStride[8];
105 int m_textureCoordNum;
106 char * m_pTangentSpaceBuffer[8];
107 int m_tangentSpaceStride[8];
109 CalIndex * m_pIndexBuffer;
111 int m_totalVertexCount;
112 int m_totalFaceCount;
Definition: coremodel.h:25
Definition: corematerial.h:20
Definition: coresubmesh.h:56
Definition: hardwaremodel.h:24
The vector class.
Definition: vector.h:36
Definition: coresubmesh.h:22
Definition: hardwaremodel.h:27
Definition: skeleton.h:20
The quaternion class.
Definition: quaternion.h:35