Index: source/renderer/MikktspaceWrap.h =================================================================== --- source/renderer/MikktspaceWrap.h +++ source/renderer/MikktspaceWrap.h @@ -18,29 +18,28 @@ #ifndef INCLUDED_MIKKWRAP #define INCLUDED_MIKKWRAP -#include "graphics/Model.h" #include "graphics/ModelDef.h" #include "third_party/mikktspace/mikktspace.h" #include class CVector3D; + class MikkTSpace { public: - MikkTSpace(const CModelDefPtr& m, std::vector& v, bool gpuSkinning); + MikkTSpace(const std::shared_ptr& m, std::vector& v, bool gpuSkinning); void Generate(); private: SMikkTSpaceInterface m_Interface; - SMikkTSpaceContext m_Context; - const CModelDefPtr& m_Model; + const std::shared_ptr& m_Model; std::vector& m_NewVertices; @@ -50,20 +49,20 @@ * @param[in] pContext - Pointer to the MikkTSpace context. * @returns - the number of faces (triangles/quads) on the mesh to be processed. */ - static int GetNumFaces(const SMikkTSpaceContext *pContext); + static int GetNumFaces(const SMikkTSpaceContext* pContext); /** * @param[in] pContext - Pointer to the MikkTSpace context. * @param[in] iFace - Number in the range { 0, 1, ..., getNumFaces() - 1 }. * @returns - the number of faces (triangles/quads) on the mesh to be processed. */ - static int GetNumVerticesOfFace(const SMikkTSpaceContext *pContext, const int iFace); + static int GetNumVerticesOfFace(const SMikkTSpaceContext* pContext, const int iFace); /** * @param[in] pContext - Pointer to the MikkTSpace context. * @returns - The MikkTSpace. */ - static MikkTSpace* GetUserDataFromContext(const SMikkTSpaceContext *pContext); + static MikkTSpace* GetUserDataFromContext(const SMikkTSpaceContext* pContext); /** * @param[in] pContext - Pointer to the MikkTSpace context. @@ -71,7 +70,7 @@ * @param[in] iVert - Number in the range { 0, 1, 2 } for triangles and { 0, 1, 2, 3 } for quads. * @returns - The MikkTSpace. */ - static SModelVertex GetVertex(const SMikkTSpaceContext *pContext, const int iFace, const int iVert); + static SModelVertex GetVertex(const SMikkTSpaceContext* pContext, const int iFace, const int iVert); /** * @param[in] pContext - Pointer to the MikkTSpace context. @@ -79,7 +78,7 @@ * @param[in] iFace - Number in the range { 0, 1, ..., getNumFaces() - 1 }. * @param[in] iVert - Number in the range { 0, 1, 2 } for triangles and { 0, 1, 2, 3 } for quads. */ - static void GetPosition(const SMikkTSpaceContext *pContext, + static void GetPosition(const SMikkTSpaceContext* pContext, float fvPosOut[3], const int iFace, const int iVert); /** @@ -88,7 +87,7 @@ * @param[in] iFace - Number in the range { 0, 1, ..., getNumFaces() - 1 }. * @param[in] iVert - Number in the range { 0, 1, 2 } for triangles and { 0, 1, 2, 3 } for quads. */ - static void GetNormal(const SMikkTSpaceContext *pContext, + static void GetNormal(const SMikkTSpaceContext* pContext, float fvNormOut[3], const int iFace, const int iVert); /** @@ -97,7 +96,7 @@ * @param[in] iFace - Number in the range { 0, 1, ..., getNumFaces() - 1 }. * @param[in] iVert - Number in the range { 0, 1, 2 } for triangles and { 0, 1, 2, 3 } for quads. */ - static void GetTexCoord(const SMikkTSpaceContext *pContext, + static void GetTexCoord(const SMikkTSpaceContext* pContext, float fvTexcOut[2], const int iFace, const int iVert); /** @@ -114,7 +113,7 @@ * @param[in] iFace - Number in the range {0,1,2} for triangles and {0,1,2,3} for quads. * @param[in] iVert - Array containing the position vector of the face. */ - static void SetTSpace(const SMikkTSpaceContext * pContext, const float fvTangent[], + static void SetTSpace(const SMikkTSpaceContext* pContext, const float fvTangent[], const float UNUSED(fvBiTangent)[], const float UNUSED(fMagS), const float UNUSED(fMagT), const tbool bIsOrientationPreserving, const int iFace, const int iVert); Index: source/renderer/MikktspaceWrap.cpp =================================================================== --- source/renderer/MikktspaceWrap.cpp +++ source/renderer/MikktspaceWrap.cpp @@ -19,7 +19,7 @@ #include "renderer/MikktspaceWrap.h" -MikkTSpace::MikkTSpace(const CModelDefPtr& m, std::vector& v, bool gpuSkinning) : m_Model(m), +MikkTSpace::MikkTSpace(const std::shared_ptr& m, std::vector& v, bool gpuSkinning) : m_Model(m), m_NewVertices(v), m_GpuSkinning(gpuSkinning) { // ensure that m_NewVertices is empty @@ -44,7 +44,7 @@ genTangSpaceDefault(&m_Context); } -int MikkTSpace::GetNumFaces(const SMikkTSpaceContext *pContext) +int MikkTSpace::GetNumFaces(const SMikkTSpaceContext* pContext) { return GetUserDataFromContext(pContext)->m_Model->GetNumFaces(); } @@ -54,7 +54,7 @@ return 3; } -void MikkTSpace::GetPosition(const SMikkTSpaceContext *pContext, +void MikkTSpace::GetPosition(const SMikkTSpaceContext* pContext, float fvPosOut[3], const int iFace, const int iVert) { const CVector3D& position = GetVertex(pContext, iFace, iVert).m_Coords; @@ -65,7 +65,7 @@ } -void MikkTSpace::GetNormal(const SMikkTSpaceContext *pContext, +void MikkTSpace::GetNormal(const SMikkTSpaceContext* pContext, float fvNormOut[3], const int iFace, const int iVert) { const CVector3D& normal = GetVertex(pContext, iFace, iVert).m_Norm; @@ -76,7 +76,7 @@ } -void MikkTSpace::GetTexCoord(const SMikkTSpaceContext *pContext, +void MikkTSpace::GetTexCoord(const SMikkTSpaceContext* pContext, float fvTexcOut[2], const int iFace, const int iVert) { const MikkTSpace* userData = GetUserDataFromContext(pContext); @@ -97,7 +97,7 @@ const SModelFace& face = userData->m_Model->GetFaces()[iFace]; const SModelVertex& vertex = userData->m_Model->GetVertices()[face.m_Verts[iVert]]; - const CVector3D &p = vertex.m_Coords; + const CVector3D& p = vertex.m_Coords; userData->m_NewVertices.push_back(p.X); userData->m_NewVertices.push_back(p.Y); userData->m_NewVertices.push_back(p.Z); @@ -129,12 +129,12 @@ } } -MikkTSpace* MikkTSpace::GetUserDataFromContext(const SMikkTSpaceContext *pContext) +MikkTSpace* MikkTSpace::GetUserDataFromContext(const SMikkTSpaceContext* pContext) { return static_cast(pContext->m_pUserData); } -SModelVertex MikkTSpace::GetVertex(const SMikkTSpaceContext *pContext, const int iFace, const int iVert) +SModelVertex MikkTSpace::GetVertex(const SMikkTSpaceContext* pContext, const int iFace, const int iVert) { const MikkTSpace* userData = GetUserDataFromContext(pContext); const SModelFace& f = userData->m_Model->GetFaces()[iFace]; Index: source/renderer/ModelRenderer.cpp =================================================================== --- source/renderer/ModelRenderer.cpp +++ source/renderer/ModelRenderer.cpp @@ -84,7 +84,7 @@ const VertexArrayIterator& Position, const VertexArrayIterator& Normal) { - CModelDefPtr mdef = model->GetModelDef(); + const CModelDefPtr mdef = model->GetModelDef(); size_t numVertices = mdef->GetNumVertices(); SModelVertex* vertices=mdef->GetVertices(); @@ -117,7 +117,7 @@ // just copy regular positions, transform normals to world space const CMatrix3D& transform = model->GetTransform(); const CMatrix3D& invtransform = model->GetInvTransform(); - for (size_t j=0; jGetNumVertices(); - SModelVertex* vertices = mdef->GetVertices(); + const SModelVertex* vertices = mdef->GetVertices(); - for (size_t j=0; j < numVertices; ++j) + for (size_t j = 0; j < numVertices; ++j) { UV[j][0] = vertices[j].m_UVs[UVset * 2]; UV[j][1] = 1.0-vertices[j].m_UVs[UVset * 2 + 1]; @@ -183,10 +183,10 @@ SModelFace* faces = mdef->GetFaces(); for (size_t j = 0; j < mdef->GetNumFaces(); ++j) { - SModelFace& face=faces[j]; - Indices[idxidx++]=face.m_Verts[0]; - Indices[idxidx++]=face.m_Verts[1]; - Indices[idxidx++]=face.m_Verts[2]; + SModelFace& face = faces[j]; + Indices[idxidx++] = face.m_Verts[0]; + Indices[idxidx++] = face.m_Verts[1]; + Indices[idxidx++] = face.m_Verts[2]; } }