Fixed some IndexBuffer generation
Former-commit-id: cb65a63ee0d8193004b264323941a7d1f214a3c4
This commit is contained in:
parent
9197f05fdf
commit
7d688ec8c7
|
|
@ -200,7 +200,7 @@ bool NzMD5MeshParser::Parse(NzMesh* mesh)
|
||||||
// Index buffer
|
// Index buffer
|
||||||
bool largeIndices = (vertexCount > std::numeric_limits<nzUInt16>::max());
|
bool largeIndices = (vertexCount > std::numeric_limits<nzUInt16>::max());
|
||||||
|
|
||||||
std::unique_ptr<NzIndexBuffer> indexBuffer(new NzIndexBuffer(indexCount, largeIndices, m_parameters.storage));
|
std::unique_ptr<NzIndexBuffer> indexBuffer(new NzIndexBuffer(largeIndices, indexCount, m_parameters.storage));
|
||||||
NzIndexMapper indexMapper(indexBuffer.get(), nzBufferAccess_DiscardAndWrite);
|
NzIndexMapper indexMapper(indexBuffer.get(), nzBufferAccess_DiscardAndWrite);
|
||||||
|
|
||||||
unsigned int index = 0;
|
unsigned int index = 0;
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@ NzSubMesh* NzMesh::BuildSubMesh(const NzPrimitive& primitive, const NzMeshParams
|
||||||
unsigned int vertexCount;
|
unsigned int vertexCount;
|
||||||
NzComputeBoxIndexVertexCount(primitive.box.subdivision, &indexCount, &vertexCount);
|
NzComputeBoxIndexVertexCount(primitive.box.subdivision, &indexCount, &vertexCount);
|
||||||
|
|
||||||
indexBuffer.reset(new NzIndexBuffer(indexCount, vertexCount > std::numeric_limits<nzUInt16>::max(), params.storage, nzBufferUsage_Static));
|
indexBuffer.reset(new NzIndexBuffer(vertexCount > std::numeric_limits<nzUInt16>::max(), indexCount, params.storage, nzBufferUsage_Static));
|
||||||
indexBuffer->SetPersistent(false);
|
indexBuffer->SetPersistent(false);
|
||||||
|
|
||||||
vertexBuffer.reset(new NzVertexBuffer(declaration, vertexCount, params.storage, nzBufferUsage_Static));
|
vertexBuffer.reset(new NzVertexBuffer(declaration, vertexCount, params.storage, nzBufferUsage_Static));
|
||||||
|
|
@ -199,7 +199,7 @@ NzSubMesh* NzMesh::BuildSubMesh(const NzPrimitive& primitive, const NzMeshParams
|
||||||
unsigned int vertexCount;
|
unsigned int vertexCount;
|
||||||
NzComputePlaneIndexVertexCount(primitive.plane.subdivision, &indexCount, &vertexCount);
|
NzComputePlaneIndexVertexCount(primitive.plane.subdivision, &indexCount, &vertexCount);
|
||||||
|
|
||||||
indexBuffer.reset(new NzIndexBuffer(indexCount, vertexCount > std::numeric_limits<nzUInt16>::max(), params.storage, nzBufferUsage_Static));
|
indexBuffer.reset(new NzIndexBuffer(vertexCount > std::numeric_limits<nzUInt16>::max(), indexCount, params.storage, nzBufferUsage_Static));
|
||||||
indexBuffer->SetPersistent(false);
|
indexBuffer->SetPersistent(false);
|
||||||
|
|
||||||
vertexBuffer.reset(new NzVertexBuffer(declaration, vertexCount, params.storage, nzBufferUsage_Static));
|
vertexBuffer.reset(new NzVertexBuffer(declaration, vertexCount, params.storage, nzBufferUsage_Static));
|
||||||
|
|
@ -222,7 +222,7 @@ NzSubMesh* NzMesh::BuildSubMesh(const NzPrimitive& primitive, const NzMeshParams
|
||||||
unsigned int vertexCount;
|
unsigned int vertexCount;
|
||||||
NzComputeCubicSphereIndexVertexCount(primitive.sphere.cubic.subdivision, &indexCount, &vertexCount);
|
NzComputeCubicSphereIndexVertexCount(primitive.sphere.cubic.subdivision, &indexCount, &vertexCount);
|
||||||
|
|
||||||
indexBuffer.reset(new NzIndexBuffer(indexCount, vertexCount > std::numeric_limits<nzUInt16>::max(), params.storage, nzBufferUsage_Static));
|
indexBuffer.reset(new NzIndexBuffer(vertexCount > std::numeric_limits<nzUInt16>::max(), indexCount, params.storage, nzBufferUsage_Static));
|
||||||
indexBuffer->SetPersistent(false);
|
indexBuffer->SetPersistent(false);
|
||||||
|
|
||||||
vertexBuffer.reset(new NzVertexBuffer(declaration, vertexCount, params.storage, nzBufferUsage_Static));
|
vertexBuffer.reset(new NzVertexBuffer(declaration, vertexCount, params.storage, nzBufferUsage_Static));
|
||||||
|
|
@ -241,7 +241,7 @@ NzSubMesh* NzMesh::BuildSubMesh(const NzPrimitive& primitive, const NzMeshParams
|
||||||
unsigned int vertexCount;
|
unsigned int vertexCount;
|
||||||
NzComputeIcoSphereIndexVertexCount(primitive.sphere.ico.recursionLevel, &indexCount, &vertexCount);
|
NzComputeIcoSphereIndexVertexCount(primitive.sphere.ico.recursionLevel, &indexCount, &vertexCount);
|
||||||
|
|
||||||
indexBuffer.reset(new NzIndexBuffer(indexCount, vertexCount > std::numeric_limits<nzUInt16>::max(), params.storage, nzBufferUsage_Static));
|
indexBuffer.reset(new NzIndexBuffer(vertexCount > std::numeric_limits<nzUInt16>::max(), indexCount, params.storage, nzBufferUsage_Static));
|
||||||
indexBuffer->SetPersistent(false);
|
indexBuffer->SetPersistent(false);
|
||||||
|
|
||||||
vertexBuffer.reset(new NzVertexBuffer(declaration, vertexCount, params.storage, nzBufferUsage_Static));
|
vertexBuffer.reset(new NzVertexBuffer(declaration, vertexCount, params.storage, nzBufferUsage_Static));
|
||||||
|
|
@ -260,7 +260,7 @@ NzSubMesh* NzMesh::BuildSubMesh(const NzPrimitive& primitive, const NzMeshParams
|
||||||
unsigned int vertexCount;
|
unsigned int vertexCount;
|
||||||
NzComputeUvSphereIndexVertexCount(primitive.sphere.uv.sliceCount, primitive.sphere.uv.stackCount, &indexCount, &vertexCount);
|
NzComputeUvSphereIndexVertexCount(primitive.sphere.uv.sliceCount, primitive.sphere.uv.stackCount, &indexCount, &vertexCount);
|
||||||
|
|
||||||
indexBuffer.reset(new NzIndexBuffer(indexCount, vertexCount > std::numeric_limits<nzUInt16>::max(), params.storage, nzBufferUsage_Static));
|
indexBuffer.reset(new NzIndexBuffer(vertexCount > std::numeric_limits<nzUInt16>::max(), indexCount, params.storage, nzBufferUsage_Static));
|
||||||
indexBuffer->SetPersistent(false);
|
indexBuffer->SetPersistent(false);
|
||||||
|
|
||||||
vertexBuffer.reset(new NzVertexBuffer(declaration, vertexCount, params.storage, nzBufferUsage_Static));
|
vertexBuffer.reset(new NzVertexBuffer(declaration, vertexCount, params.storage, nzBufferUsage_Static));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue