Browse Source

DebugTools: assertions for non-empty resource key when it is needed.

Shape renderer can specify empty resource key if index buffer won't be
used.
pull/7/head
Vladimír Vondruš 13 years ago
parent
commit
f8d71941fd
  1. 6
      src/DebugTools/Implementation/AbstractShapeRenderer.cpp

6
src/DebugTools/Implementation/AbstractShapeRenderer.cpp

@ -47,8 +47,9 @@ template<> void create<2>(Trade::MeshData2D& data, Resource<Mesh>& meshResource,
->addVertexBuffer(buffer, 0, Shaders::FlatShader2D::Position());
ResourceManager::instance()->set(meshResource.key(), mesh, ResourceDataState::Final, ResourcePolicy::Manual);
/* Index buffer, if present */
/* Index buffer, if needed, if not, resource key doesn't have to be set */
if(data.indices()) {
CORRADE_INTERNAL_ASSERT(indexBufferResource.key() != ResourceKey());
Buffer* indexBuffer = new Buffer(Buffer::Target::ElementArray);
MeshTools::compressIndices(mesh, indexBuffer, Buffer::Usage::StaticDraw, *data.indices());
ResourceManager::instance()->set(indexBufferResource.key(), indexBuffer, ResourceDataState::Final, ResourcePolicy::Manual);
@ -68,8 +69,9 @@ template<> void create<3>(Trade::MeshData3D& data, Resource<Mesh>& meshResource,
->addVertexBuffer(vertexBuffer, 0, Shaders::FlatShader3D::Position());
ResourceManager::instance()->set(meshResource.key(), mesh, ResourceDataState::Final, ResourcePolicy::Manual);
/* Index buffer, if needed */
/* Index buffer, if needed, if not, resource key doesn't have to be set */
if(data.indices()) {
CORRADE_INTERNAL_ASSERT(indexBufferResource.key() != ResourceKey());
Buffer* indexBuffer = new Buffer(Buffer::Target::ElementArray);
MeshTools::compressIndices(mesh, indexBuffer, Buffer::Usage::StaticDraw, *data.indices());
ResourceManager::instance()->set(indexBufferResource.key(), indexBuffer, ResourceDataState::Final, ResourcePolicy::Manual);

Loading…
Cancel
Save