From f8d71941fdbe9fd99543c20c92898df38197fe31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 25 Jan 2013 16:28:20 +0100 Subject: [PATCH] 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. --- src/DebugTools/Implementation/AbstractShapeRenderer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/DebugTools/Implementation/AbstractShapeRenderer.cpp b/src/DebugTools/Implementation/AbstractShapeRenderer.cpp index 2a37ace5d..b32dc0c1f 100644 --- a/src/DebugTools/Implementation/AbstractShapeRenderer.cpp +++ b/src/DebugTools/Implementation/AbstractShapeRenderer.cpp @@ -47,8 +47,9 @@ template<> void create<2>(Trade::MeshData2D& data, Resource& 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& 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);