diff options
| author | Sheikh Dawood Abdul Ajees <[email protected]> | 2017-09-15 15:41:57 -0500 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <[email protected]> | 2017-09-15 15:41:57 -0500 |
| commit | d1c812f1162e5fdb13c215792725b2591d7428f5 (patch) | |
| tree | 407056c45c7e9320c48fca6a3697d81a061c4ea0 /PhysX_3.4/Source/GeomUtils/src/GuMeshFactory.cpp | |
| parent | PhysX 3.4, APEX 1.4 patch release @22121272 (diff) | |
| download | physx-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.cpp | 49 |
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 |