From 6488be5e91f96e759378ceab64bd20585f5dcf4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 27 Apr 2014 16:58:32 +0200 Subject: [PATCH] glDrawElementsBaseVertex() needs ARB_draw_elements_base_vertex. --- src/Magnum/Mesh.h | 2 ++ src/Magnum/MeshView.h | 2 ++ src/Magnum/Test/MeshGLTest.cpp | 3 +++ 3 files changed, 7 insertions(+) diff --git a/src/Magnum/Mesh.h b/src/Magnum/Mesh.h index 6ca138de5..ce9142d03 100644 --- a/src/Magnum/Mesh.h +++ b/src/Magnum/Mesh.h @@ -524,6 +524,8 @@ class MAGNUM_EXPORT Mesh: public AbstractObject { * * Sets number of vertices of which the vertex buffer will be offset * when drawing. Default is `0`. + * @requires_gl32 %Extension @extension{ARB,draw_elements_base_vertex} + * for indexed meshes * @requires_gl Base vertex cannot be specified for indexed meshes in * OpenGL ES. */ diff --git a/src/Magnum/MeshView.h b/src/Magnum/MeshView.h index 25f114866..31c0b6ca4 100644 --- a/src/Magnum/MeshView.h +++ b/src/Magnum/MeshView.h @@ -88,6 +88,8 @@ class MAGNUM_EXPORT MeshView { * * Sets number of vertices of which the vertex buffer will be offset * when drawing. Default is `0`. + * @requires_gl32 %Extension @extension{ARB,draw_elements_base_vertex} + * for indexed meshes * @requires_gl Base vertex cannot be specified for indexed meshes in * OpenGL ES. */ diff --git a/src/Magnum/Test/MeshGLTest.cpp b/src/Magnum/Test/MeshGLTest.cpp index 751fe3cec..d3da77b2c 100644 --- a/src/Magnum/Test/MeshGLTest.cpp +++ b/src/Magnum/Test/MeshGLTest.cpp @@ -1276,6 +1276,9 @@ void MeshGLTest::setIndexBufferUnsignedInt() { #ifndef MAGNUM_TARGET_GLES void MeshGLTest::setBaseVertex() { + if(!Context::current()->isExtensionSupported()) + CORRADE_SKIP(Extensions::GL::ARB::draw_elements_base_vertex::string() + std::string(" is not available.")); + Buffer vertices; vertices.setData(indexedVertexDataBaseVertex, BufferUsage::StaticDraw);