diff --git a/src/MeshView.cpp b/src/MeshView.cpp index 9eed8f255..af473a6f7 100644 --- a/src/MeshView.cpp +++ b/src/MeshView.cpp @@ -34,7 +34,7 @@ MeshView& MeshView::setIndexRange(Int first, Int count, UnsignedInt start, Unsig MeshView& MeshView::setIndexRange(Int first, Int count, UnsignedInt, UnsignedInt) #endif { - _indexOffset = first*_original->indexSize(); + _indexOffset = _original->_indexOffset + first*_original->indexSize(); _indexCount = count; #ifndef MAGNUM_TARGET_GLES2 _indexStart = start; @@ -45,7 +45,7 @@ MeshView& MeshView::setIndexRange(Int first, Int count, UnsignedInt, UnsignedInt void MeshView::draw() { #ifndef MAGNUM_TARGET_GLES2 - _original->drawInternal(_firstVertex, _vertexCount, _indexOffset, _indexCount, _indexStart, _indexEnd); + _original->drawInternal(_firstVertex, _vertexCount, _indexOffset, _indexCount, _indexStart, _indexEnd); #else _original->drawInternal(_firstVertex, _vertexCount, _indexOffset, _indexCount); #endif diff --git a/src/MeshView.h b/src/MeshView.h index 8804b3227..33eb4902c 100644 --- a/src/MeshView.h +++ b/src/MeshView.h @@ -49,8 +49,6 @@ no draw commands are issued when calling @ref draw(). You must ensure that the original mesh remains available for whole view lifetime. -@todo Might cause issues when there are more data than just indices in index - buffer (wrongly computed offset) */ class MAGNUM_EXPORT MeshView { public: