Cleanup: style, use const
This commit is contained in:
@@ -2987,6 +2987,9 @@ void mesh_get_mapped_verts_coords(DerivedMesh *dm, float (*r_cos)[3], const int
|
||||
|
||||
/* ******************* GLSL ******************** */
|
||||
|
||||
/** \name Tangent Space Calculation
|
||||
* \{ */
|
||||
|
||||
typedef struct {
|
||||
float (*precomputedFaceNormals)[3];
|
||||
float (*precomputedLoopNormals)[3];
|
||||
@@ -3004,32 +3007,36 @@ typedef struct {
|
||||
/* interface */
|
||||
#include "mikktspace.h"
|
||||
|
||||
static int GetNumFaces(const SMikkTSpaceContext *pContext)
|
||||
static int dm_ts_GetNumFaces(const SMikkTSpaceContext *pContext)
|
||||
{
|
||||
SGLSLMeshToTangent *pMesh = (SGLSLMeshToTangent *) pContext->m_pUserData;
|
||||
SGLSLMeshToTangent *pMesh = pContext->m_pUserData;
|
||||
return pMesh->numTessFaces;
|
||||
}
|
||||
|
||||
static int GetNumVertsOfFace(const SMikkTSpaceContext *pContext, const int face_num)
|
||||
static int dm_ts_GetNumVertsOfFace(const SMikkTSpaceContext *pContext, const int face_num)
|
||||
{
|
||||
//SGLSLMeshToTangent *pMesh = (SGLSLMeshToTangent *) pContext->m_pUserData;
|
||||
//SGLSLMeshToTangent *pMesh = pContext->m_pUserData;
|
||||
UNUSED_VARS(pContext, face_num);
|
||||
return 3;
|
||||
}
|
||||
|
||||
static void GetPosition(const SMikkTSpaceContext *pContext, float r_co[3], const int face_num, const int vert_index)
|
||||
static void dm_ts_GetPosition(
|
||||
const SMikkTSpaceContext *pContext, float r_co[3],
|
||||
const int face_num, const int vert_index)
|
||||
{
|
||||
//assert(vert_index >= 0 && vert_index < 4);
|
||||
SGLSLMeshToTangent *pMesh = (SGLSLMeshToTangent *) pContext->m_pUserData;
|
||||
SGLSLMeshToTangent *pMesh = pContext->m_pUserData;
|
||||
const MLoopTri *lt = &pMesh->looptri[face_num];
|
||||
const float *co = pMesh->mvert[pMesh->mloop[lt->tri[vert_index]].v].co;
|
||||
copy_v3_v3(r_co, co);
|
||||
}
|
||||
|
||||
static void GetTextureCoordinate(const SMikkTSpaceContext *pContext, float r_uv[2], const int face_num, const int vert_index)
|
||||
static void dm_ts_GetTextureCoordinate(
|
||||
const SMikkTSpaceContext *pContext, float r_uv[2],
|
||||
const int face_num, const int vert_index)
|
||||
{
|
||||
//assert(vert_index >= 0 && vert_index < 4);
|
||||
SGLSLMeshToTangent *pMesh = (SGLSLMeshToTangent *) pContext->m_pUserData;
|
||||
SGLSLMeshToTangent *pMesh = pContext->m_pUserData;
|
||||
const MLoopTri *lt = &pMesh->looptri[face_num];
|
||||
|
||||
if (pMesh->mloopuv != NULL) {
|
||||
@@ -3042,10 +3049,12 @@ static void GetTextureCoordinate(const SMikkTSpaceContext *pContext, float r_uv[
|
||||
}
|
||||
}
|
||||
|
||||
static void GetNormal(const SMikkTSpaceContext *pContext, float r_no[3], const int face_num, const int vert_index)
|
||||
static void dm_ts_GetNormal(
|
||||
const SMikkTSpaceContext *pContext, float r_no[3],
|
||||
const int face_num, const int vert_index)
|
||||
{
|
||||
//assert(vert_index >= 0 && vert_index < 4);
|
||||
SGLSLMeshToTangent *pMesh = (SGLSLMeshToTangent *) pContext->m_pUserData;
|
||||
SGLSLMeshToTangent *pMesh = pContext->m_pUserData;
|
||||
const MLoopTri *lt = &pMesh->looptri[face_num];
|
||||
const bool smoothnormal = (pMesh->mpoly[lt->poly].flag & ME_SMOOTH) != 0;
|
||||
|
||||
@@ -3070,10 +3079,12 @@ static void GetNormal(const SMikkTSpaceContext *pContext, float r_no[3], const i
|
||||
}
|
||||
}
|
||||
|
||||
static void SetTSpace(const SMikkTSpaceContext *pContext, const float fvTangent[3], const float fSign, const int face_num, const int vert_index)
|
||||
static void dm_ts_SetTSpace(
|
||||
const SMikkTSpaceContext *pContext, const float fvTangent[3], const float fSign,
|
||||
const int face_num, const int vert_index)
|
||||
{
|
||||
//assert(vert_index >= 0 && vert_index < 4);
|
||||
SGLSLMeshToTangent *pMesh = (SGLSLMeshToTangent *) pContext->m_pUserData;
|
||||
SGLSLMeshToTangent *pMesh = pContext->m_pUserData;
|
||||
const MLoopTri *lt = &pMesh->looptri[face_num];
|
||||
float *pRes = pMesh->tangent[lt->tri[vert_index]];
|
||||
copy_v3_v3(pRes, fvTangent);
|
||||
@@ -3141,18 +3152,21 @@ void DM_calc_loop_tangents(DerivedMesh *dm)
|
||||
|
||||
sContext.m_pUserData = &mesh2tangent;
|
||||
sContext.m_pInterface = &sInterface;
|
||||
sInterface.m_getNumFaces = GetNumFaces;
|
||||
sInterface.m_getNumVerticesOfFace = GetNumVertsOfFace;
|
||||
sInterface.m_getPosition = GetPosition;
|
||||
sInterface.m_getTexCoord = GetTextureCoordinate;
|
||||
sInterface.m_getNormal = GetNormal;
|
||||
sInterface.m_setTSpaceBasic = SetTSpace;
|
||||
sInterface.m_getNumFaces = dm_ts_GetNumFaces;
|
||||
sInterface.m_getNumVerticesOfFace = dm_ts_GetNumVertsOfFace;
|
||||
sInterface.m_getPosition = dm_ts_GetPosition;
|
||||
sInterface.m_getTexCoord = dm_ts_GetTextureCoordinate;
|
||||
sInterface.m_getNormal = dm_ts_GetNormal;
|
||||
sInterface.m_setTSpaceBasic = dm_ts_SetTSpace;
|
||||
|
||||
/* 0 if failed */
|
||||
genTangSpaceDefault(&sContext);
|
||||
}
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
||||
|
||||
void DM_calc_auto_bump_scale(DerivedMesh *dm)
|
||||
{
|
||||
/* int totvert = dm->getNumVerts(dm); */ /* UNUSED */
|
||||
|
@@ -237,10 +237,13 @@ static void emDM_calcLoopNormalsSpaceArray(
|
||||
}
|
||||
|
||||
|
||||
/** \name Tangent Space Calculation
|
||||
* \{ */
|
||||
|
||||
typedef struct {
|
||||
const float (*precomputedFaceNormals)[3];
|
||||
const float (*precomputedLoopNormals)[3];
|
||||
BMLoop *(*looptris)[3];
|
||||
const BMLoop *(*looptris)[3];
|
||||
int cd_loop_uv_offset; /* texture coordinates */
|
||||
const float (*orco)[3];
|
||||
float (*tangent)[4]; /* destination */
|
||||
@@ -270,7 +273,7 @@ static void emdm_ts_GetPosition(
|
||||
{
|
||||
//assert(vert_index >= 0 && vert_index < 4);
|
||||
SGLSLEditMeshToTangent *pMesh = pContext->m_pUserData;
|
||||
BMLoop **lt = pMesh->looptris[face_num];
|
||||
const BMLoop **lt = pMesh->looptris[face_num];
|
||||
const float *co = lt[vert_index]->v->co;
|
||||
copy_v3_v3(r_co, co);
|
||||
}
|
||||
@@ -281,7 +284,7 @@ static void emdm_ts_GetTextureCoordinate(
|
||||
{
|
||||
//assert(vert_index >= 0 && vert_index < 4);
|
||||
SGLSLEditMeshToTangent *pMesh = pContext->m_pUserData;
|
||||
BMLoop **lt = pMesh->looptris[face_num];
|
||||
const BMLoop **lt = pMesh->looptris[face_num];
|
||||
|
||||
if (pMesh->cd_loop_uv_offset != -1) {
|
||||
const float *uv = BM_ELEM_CD_GET_VOID_P(lt[vert_index], pMesh->cd_loop_uv_offset);
|
||||
@@ -299,7 +302,7 @@ static void emdm_ts_GetNormal(
|
||||
{
|
||||
//assert(vert_index >= 0 && vert_index < 4);
|
||||
SGLSLEditMeshToTangent *pMesh = pContext->m_pUserData;
|
||||
BMLoop **lt = pMesh->looptris[face_num];
|
||||
const BMLoop **lt = pMesh->looptris[face_num];
|
||||
const bool smoothnormal = BM_elem_flag_test_bool(lt[0]->f, BM_ELEM_SMOOTH);
|
||||
|
||||
if (pMesh->precomputedLoopNormals) {
|
||||
@@ -324,7 +327,7 @@ static void emdm_ts_SetTSpace(
|
||||
{
|
||||
//assert(vert_index >= 0 && vert_index < 4);
|
||||
SGLSLEditMeshToTangent *pMesh = pContext->m_pUserData;
|
||||
BMLoop **lt = pMesh->looptris[face_num];
|
||||
const BMLoop **lt = pMesh->looptris[face_num];
|
||||
float *pRes = pMesh->tangent[BM_elem_index_get(lt[vert_index])];
|
||||
copy_v3_v3(pRes, fvTangent);
|
||||
pRes[3] = fSign;
|
||||
@@ -394,7 +397,7 @@ static void emDM_calcLoopTangents(DerivedMesh *dm)
|
||||
|
||||
mesh2tangent.precomputedFaceNormals = fnors;
|
||||
mesh2tangent.precomputedLoopNormals = tlnors;
|
||||
mesh2tangent.looptris = em->looptris;
|
||||
mesh2tangent.looptris = (const BMLoop *(*)[3])em->looptris;
|
||||
mesh2tangent.cd_loop_uv_offset = cd_loop_uv_offset;
|
||||
mesh2tangent.orco = (const float (*)[3])orco;
|
||||
mesh2tangent.tangent = tangent;
|
||||
@@ -414,6 +417,9 @@ static void emDM_calcLoopTangents(DerivedMesh *dm)
|
||||
}
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
||||
|
||||
static void emDM_recalcTessellation(DerivedMesh *UNUSED(dm))
|
||||
{
|
||||
/* do nothing */
|
||||
|
Reference in New Issue
Block a user