diff --git a/src/python/magnum/gl.cpp b/src/python/magnum/gl.cpp index bad6aca..bfa53f5 100644 --- a/src/python/magnum/gl.cpp +++ b/src/python/magnum/gl.cpp @@ -24,6 +24,7 @@ */ #include +#include /* for Mesh.buffers */ #include #include #include @@ -247,7 +248,8 @@ void gl(py::module& m) { self.draw(shader); }, "Draw the mesh") /** @todo more */ - ; + + .def_readonly("buffers", &PyMesh::buffers, "Buffer objects referenced by the mesh"); /* Renderer */ { diff --git a/src/python/magnum/test/test_gl_gl.py b/src/python/magnum/test/test_gl_gl.py index d41b055..2e64f3c 100644 --- a/src/python/magnum/test/test_gl_gl.py +++ b/src/python/magnum/test/test_gl_gl.py @@ -96,6 +96,8 @@ class Mesh(GLTestCase): # Adding a buffer to the mesh should increase its ref count mesh = gl.Mesh() mesh.add_vertex_buffer(buffer, 0, 8, gl.Attribute(gl.Attribute.Kind.GENERIC, 2, gl.Attribute.Components.TWO, gl.Attribute.DataType.FLOAT)) + self.assertEqual(len(mesh.buffers), 1) + self.assertIs(mesh.buffers[0], buffer) self.assertEqual(sys.getrefcount(buffer), buffer_refcount + 1) # Deleting the mesh should decrease it again