Further cleanup of MikkTSpace

- Move the * and & to the correct side,
- Add .0 and  0.f to clearly mark the types
- Pass pointers instead of arrays
- Add a newline after forward declaration
- Add spaces between operators
- Use c++ cast

Reviewed by: @vladislavbelov
Differential Revision: https://code.wildfiregames.com/D1934
This was SVN commit r22323.
This commit is contained in:
Stan
2019-05-30 23:03:01 +00:00
parent 4495467e65
commit ddcdc643ba
3 changed files with 46 additions and 45 deletions
+12 -12
View File
@@ -44,7 +44,7 @@ void MikkTSpace::Generate()
genTangSpaceDefault(&m_Context);
}
int MikkTSpace::GetNumFaces(const SMikkTSpaceContext *pContext)
int MikkTSpace::GetNumFaces(const SMikkTSpaceContext* pContext)
{
return GetUserDataFromContext(pContext)->m_Model->GetNumFaces();
}
@@ -54,8 +54,8 @@ int MikkTSpace::GetNumVerticesOfFace(const SMikkTSpaceContext* UNUSED(pContext),
return 3;
}
void MikkTSpace::GetPosition(const SMikkTSpaceContext *pContext,
float fvPosOut[3], const int iFace, const int iVert)
void MikkTSpace::GetPosition(const SMikkTSpaceContext* pContext,
float* fvPosOut, const int iFace, const int iVert)
{
const CVector3D& position = GetVertex(pContext, iFace, iVert).m_Coords;
@@ -65,8 +65,8 @@ void MikkTSpace::GetPosition(const SMikkTSpaceContext *pContext,
}
void MikkTSpace::GetNormal(const SMikkTSpaceContext *pContext,
float fvNormOut[3], const int iFace, const int iVert)
void MikkTSpace::GetNormal(const SMikkTSpaceContext* pContext,
float* fvNormOut, const int iFace, const int iVert)
{
const CVector3D& normal = GetVertex(pContext, iFace, iVert).m_Norm;
@@ -76,8 +76,8 @@ void MikkTSpace::GetNormal(const SMikkTSpaceContext *pContext,
}
void MikkTSpace::GetTexCoord(const SMikkTSpaceContext *pContext,
float fvTexcOut[2], const int iFace, const int iVert)
void MikkTSpace::GetTexCoord(const SMikkTSpaceContext* pContext,
float* fvTexcOut, const int iFace, const int iVert)
{
const MikkTSpace* userData = GetUserDataFromContext(pContext);
const SModelFace& face = userData->m_Model->GetFaces()[iFace];
@@ -89,15 +89,15 @@ void MikkTSpace::GetTexCoord(const SMikkTSpaceContext *pContext,
}
void MikkTSpace::SetTSpace(const SMikkTSpaceContext* pContext, const float fvTangent[],
const float UNUSED(fvBiTangent)[], const float UNUSED(fMagS), const float UNUSED(fMagT),
void MikkTSpace::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)
{
const MikkTSpace* userData = GetUserDataFromContext(pContext);
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 @@ void MikkTSpace::SetTSpace(const SMikkTSpaceContext* pContext, const float fvTan
}
}
MikkTSpace* MikkTSpace::GetUserDataFromContext(const SMikkTSpaceContext *pContext)
MikkTSpace* MikkTSpace::GetUserDataFromContext(const SMikkTSpaceContext* pContext)
{
return static_cast<MikkTSpace*>(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];
+14 -14
View File
@@ -18,13 +18,14 @@
#ifndef INCLUDED_MIKKWRAP
#define INCLUDED_MIKKWRAP
#include "graphics/Model.h"
#include "graphics/MeshManager.h"
#include "graphics/ModelDef.h"
#include "third_party/mikktspace/mikktspace.h"
#include <vector>
class CVector3D;
class MikkTSpace
{
@@ -37,7 +38,6 @@ public:
private:
SMikkTSpaceInterface m_Interface;
SMikkTSpaceContext m_Context;
const CModelDefPtr& m_Model;
@@ -50,20 +50,20 @@ private:
* @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 +71,7 @@ private:
* @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,8 +79,8 @@ private:
* @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,
float fvPosOut[3], const int iFace, const int iVert);
static void GetPosition(const SMikkTSpaceContext* pContext,
float* fvPosOut, const int iFace, const int iVert);
/**
* @param[in] pContext - Pointer to the MikkTSpace context.
@@ -88,8 +88,8 @@ private:
* @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,
float fvNormOut[3], const int iFace, const int iVert);
static void GetNormal(const SMikkTSpaceContext* pContext,
float* fvNormOut, const int iFace, const int iVert);
/**
* @param[in] pContext - Pointer to the MikkTSpace context.
@@ -97,8 +97,8 @@ private:
* @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,
float fvTexcOut[2], const int iFace, const int iVert);
static void GetTexCoord(const SMikkTSpaceContext* pContext,
float* fvTexcOut, const int iFace, const int iVert);
/**
* @brief This function is used to return tangent space results to the application.
@@ -114,8 +114,8 @@ private:
* @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[],
const float UNUSED(fvBiTangent)[], const float UNUSED(fMagS), const float UNUSED(fMagT),
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);
};
+20 -19
View File
@@ -71,7 +71,7 @@ void ModelRenderer::CopyPositionAndNormals(
size_t numVertices = mdef->GetNumVertices();
SModelVertex* vertices = mdef->GetVertices();
for(size_t j = 0; j < numVertices; ++j)
for (size_t j = 0; j < numVertices; ++j)
{
Position[j] = vertices[j].m_Coords;
Normal[j] = vertices[j].m_Norm;
@@ -86,7 +86,7 @@ void ModelRenderer::BuildPositionAndNormals(
{
CModelDefPtr mdef = model->GetModelDef();
size_t numVertices = mdef->GetNumVertices();
SModelVertex* vertices=mdef->GetVertices();
SModelVertex* vertices = mdef->GetVertices();
if (model->IsSkinned())
{
@@ -113,14 +113,14 @@ void ModelRenderer::BuildPositionAndNormals(
}
else
{
PROFILE( "software transform" );
PROFILE("software transform");
// just copy regular positions, transform normals to world space
const CMatrix3D& transform = model->GetTransform();
const CMatrix3D& invtransform = model->GetInvTransform();
for (size_t j=0; j<numVertices; ++j)
for (size_t j = 0; j < numVertices; ++j)
{
transform.Transform(vertices[j].m_Coords,Position[j]);
invtransform.RotateTransposed(vertices[j].m_Norm,Normal[j]);
transform.Transform(vertices[j].m_Coords, Position[j]);
invtransform.RotateTransposed(vertices[j].m_Norm, Normal[j]);
}
}
}
@@ -132,7 +132,7 @@ void ModelRenderer::BuildColor4ub(
const VertexArrayIterator<CVector3D>& Normal,
const VertexArrayIterator<SColor4ub>& Color)
{
PROFILE( "lighting vertices" );
PROFILE("lighting vertices");
CModelDefPtr mdef = model->GetModelDef();
size_t numVertices = mdef->GetNumVertices();
@@ -166,10 +166,10 @@ void ModelRenderer::BuildUV(
size_t numVertices = mdef->GetNumVertices();
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];
UV[j][1] = 1.0 - vertices[j].m_UVs[UVset * 2 + 1];
}
}
@@ -182,11 +182,12 @@ void ModelRenderer::BuildIndices(
size_t idxidx = 0;
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];
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];
}
}
@@ -512,7 +513,7 @@ void ShaderModelRenderer::Render(const RenderModifierPtr& modifier, const CShade
// (There might be duplicates in this list, but that doesn't really matter)
if (sortByDistTechs.empty() || sortByDistTechs.back() != tech)
sortByDistTechs.push_back(tech);
size_t techIdx = sortByDistTechs.size()-1;
size_t techIdx = sortByDistTechs.size() - 1;
// Add each model into sortByDistItems
for (size_t i = 0; i < it->second.size(); ++i)
@@ -582,7 +583,7 @@ void ShaderModelRenderer::Render(const RenderModifierPtr& modifier, const CShade
if (techIdx != currentTechIdx)
{
// Start of a new run - push the old run into a new tech bucket
SMRTechBucket techBucket = { sortByDistTechs[currentTechIdx], &sortByDistModels[start], end-start };
SMRTechBucket techBucket = { sortByDistTechs[currentTechIdx], &sortByDistModels[start], end - start };
techBuckets.push_back(techBucket);
start = end;
currentTechIdx = techIdx;
@@ -590,7 +591,7 @@ void ShaderModelRenderer::Render(const RenderModifierPtr& modifier, const CShade
}
// Add the tech bucket for the final run
SMRTechBucket techBucket = { sortByDistTechs[currentTechIdx], &sortByDistModels[start], sortByDistItems.size()-start };
SMRTechBucket techBucket = { sortByDistTechs[currentTechIdx], &sortByDistModels[start], sortByDistItems.size() - start };
techBuckets.push_back(techBucket);
}
}
@@ -735,7 +736,7 @@ void ShaderModelRenderer::Render(const RenderModifierPtr& modifier, const CShade
if (binding.Active())
{
double time = g_Renderer.GetTimeManager().GetGlobalTime();
shader->Uniform(binding, time, 0,0,0);
shader->Uniform(binding, time, 0.0f, 0.0f, 0.0f);
}
}
else if (rq.first == RQUERY_WATER_TEX)
@@ -743,7 +744,7 @@ void ShaderModelRenderer::Render(const RenderModifierPtr& modifier, const CShade
WaterManager* WaterMgr = g_Renderer.GetWaterManager();
double time = WaterMgr->m_WaterTexTimer;
double period = 1.6;
int curTex = (int)(time*60/period) % 60;
int curTex = static_cast<int>(time * 60.0 / period) % 60;
if (WaterMgr->m_RenderWater && WaterMgr->WillRenderFancyWater())
shader->BindTexture(str_waterTex, WaterMgr->m_NormalMap[curTex]);