aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/GeomUtils/src/GuMeshFactory.cpp
diff options
context:
space:
mode:
authorSheikh Dawood Abdul Ajees <[email protected]>2017-09-15 15:41:57 -0500
committerSheikh Dawood Abdul Ajees <[email protected]>2017-09-15 15:41:57 -0500
commitd1c812f1162e5fdb13c215792725b2591d7428f5 (patch)
tree407056c45c7e9320c48fca6a3697d81a061c4ea0 /PhysX_3.4/Source/GeomUtils/src/GuMeshFactory.cpp
parentPhysX 3.4, APEX 1.4 patch release @22121272 (diff)
downloadphysx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.tar.xz
physx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.zip
PhysX 3.4.1, APEX 1.4.1 Release @22845541v3.4.1
Diffstat (limited to 'PhysX_3.4/Source/GeomUtils/src/GuMeshFactory.cpp')
-rw-r--r--PhysX_3.4/Source/GeomUtils/src/GuMeshFactory.cpp49
1 files changed, 24 insertions, 25 deletions
diff --git a/PhysX_3.4/Source/GeomUtils/src/GuMeshFactory.cpp b/PhysX_3.4/Source/GeomUtils/src/GuMeshFactory.cpp
index 0ce25e11..d55193d5 100644
--- a/PhysX_3.4/Source/GeomUtils/src/GuMeshFactory.cpp
+++ b/PhysX_3.4/Source/GeomUtils/src/GuMeshFactory.cpp
@@ -367,10 +367,11 @@ static TriangleMeshData* loadMeshData(PxInputStream& stream)
stream.read(data->mExtraTrigData, nb*sizeof(PxU8));
}
- if(serialFlags & IMSF_GRB_DATA)
+ if (serialFlags & IMSF_GRB_DATA)
{
- data->mGRB_meshAdjVerticiesTotal = readDword(mismatch, stream);
-
+ PxU32 GRB_meshAdjVerticiesTotal = 0;
+ if (version < 15)
+ GRB_meshAdjVerticiesTotal = readDword(mismatch, stream);
//read grb triangle indices
PX_ASSERT(data->mGRB_triIndices);
@@ -402,7 +403,7 @@ static TriangleMeshData* loadMeshData(PxInputStream& stream)
if (data->has16BitIndices())
{
PxU16* tris16 = reinterpret_cast<PxU16*>(data->mGRB_triIndices);
- stream.read(tris16, nbIndices*sizeof(PxU16));
+ stream.read(tris16, nbIndices * sizeof(PxU16));
if (mismatch)
{
for (PxU32 i = 0; i<nbIndices; i++)
@@ -441,7 +442,7 @@ static TriangleMeshData* loadMeshData(PxInputStream& stream)
else
{
PxU32* tris32 = reinterpret_cast<PxU32*>(data->mGRB_triIndices);
- stream.read(tris32, nbIndices*sizeof(PxU32));
+ stream.read(tris32, nbIndices * sizeof(PxU32));
if (mismatch)
{
@@ -450,35 +451,33 @@ static TriangleMeshData* loadMeshData(PxInputStream& stream)
}
}
}
-
- data->mGRB_triAdjacencies = static_cast<void *>(PX_NEW(PxU32)[data->mNbTriangles*4]);
- data->mGRB_vertValency = PX_NEW(PxU32)[data->mNbVertices];
- data->mGRB_adjVertStart = PX_NEW(PxU32)[data->mNbVertices];
- data->mGRB_adjVertices = PX_NEW(PxU32)[data->mGRB_meshAdjVerticiesTotal];
+
+ data->mGRB_triAdjacencies = static_cast<void *>(PX_NEW(PxU32)[data->mNbTriangles * 4]);
data->mGRB_faceRemap = PX_NEW(PxU32)[data->mNbTriangles];
- stream.read(data->mGRB_triAdjacencies, sizeof(PxU32)*data->mNbTriangles*4);
- stream.read(data->mGRB_vertValency, sizeof(PxU32)*data->mNbVertices);
- stream.read(data->mGRB_adjVertStart, sizeof(PxU32)*data->mNbVertices);
- stream.read(data->mGRB_adjVertices, sizeof(PxU32)*data->mGRB_meshAdjVerticiesTotal);
+ stream.read(data->mGRB_triAdjacencies, sizeof(PxU32)*data->mNbTriangles * 4);
+ if (version < 15)
+ {
+ //stream.read(data->mGRB_vertValency, sizeof(PxU32)*data->mNbVertices);
+ for (PxU32 i = 0; i < data->mNbVertices; ++i)
+ readDword(mismatch, stream);
+ //stream.read(data->mGRB_adjVertStart, sizeof(PxU32)*data->mNbVertices);
+ for (PxU32 i = 0; i < data->mNbVertices; ++i)
+ readDword(mismatch, stream);
+ //stream.read(data->mGRB_adjVertices, sizeof(PxU32)*GRB_meshAdjVerticiesTotal);
+ for (PxU32 i = 0; i < GRB_meshAdjVerticiesTotal; ++i)
+ readDword(mismatch, stream);
+ }
stream.read(data->mGRB_faceRemap, sizeof(PxU32)*data->mNbTriangles);
- if(mismatch)
+ if (mismatch)
{
- for(PxU32 i=0;i<data->mNbTriangles*4;i++)
+ for (PxU32 i = 0; i<data->mNbTriangles * 4; i++)
flip(reinterpret_cast<PxU32 *>(data->mGRB_triIndices)[i]);
- for(PxU32 i=0;i<data->mNbTriangles*4;i++)
+ for (PxU32 i = 0; i<data->mNbTriangles * 4; i++)
flip(reinterpret_cast<PxU32 *>(data->mGRB_triAdjacencies)[i]);
- for(PxU32 i=0;i<data->mNbVertices;i++)
- {
- flip(data->mGRB_vertValency[i]);
- flip(data->mGRB_adjVertStart[i]);
- }
- for(PxU32 i=0;i<data->mGRB_meshAdjVerticiesTotal;i++)
- flip(data->mGRB_adjVertices[i]);
-
}
//read BV32