Don't allocate edge-vertex pairs if subdivision is zero
This commit is contained in:
parent
262cd50523
commit
7d4bb26145
@ -160,19 +160,21 @@ static inline void smCount(u32& inVertexCapacity, u32& inIndexCount,
|
|||||||
outVertexCapacity = 0;
|
outVertexCapacity = 0;
|
||||||
u32 outTriangleCount = 0;
|
u32 outTriangleCount = 0;
|
||||||
|
|
||||||
|
edgeVertexPairCapacity = 0;
|
||||||
|
|
||||||
for (u32 i = 0; i < subdivisions; ++i)
|
for (u32 i = 0; i < subdivisions; ++i)
|
||||||
{
|
{
|
||||||
outVertexCapacity = inVertexCapacity + 3 * inTriangleCount;
|
outVertexCapacity = inVertexCapacity + 3 * inTriangleCount;
|
||||||
outTriangleCount = 4 * inTriangleCount;
|
outTriangleCount = 4 * inTriangleCount;
|
||||||
|
|
||||||
|
edgeVertexPairCapacity = 3 * inTriangleCount;
|
||||||
|
|
||||||
inVertexCapacity = outVertexCapacity;
|
inVertexCapacity = outVertexCapacity;
|
||||||
inTriangleCount = outTriangleCount;
|
inTriangleCount = outTriangleCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
inIndexCount = 3 * inTriangleCount;
|
inIndexCount = 3 * inTriangleCount;
|
||||||
outIndexCount = 3 * outTriangleCount;
|
outIndexCount = 3 * outTriangleCount;
|
||||||
|
|
||||||
edgeVertexPairCapacity = 3 * inTriangleCount;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void smCreateMesh(smMesh& output, u32 subdivisions)
|
void smCreateMesh(smMesh& output, u32 subdivisions)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user