How to specify buffer offset with PyOpenGL

opengl, pyopengl, python, vertex-buffer

Solution

You're supposed to pass a `ctypes` void pointer, which can constructed by :

ctypes.c_void_p(offset)

There seems to be a more PyOpenGL specific option using a `VBO` class, and gotcha with some versions of PyOpenGL according to this.

Problem

What is the PyOpenGL equivalent of ``` #define BUFFER_OFFSET(i) (reinterpret_cast<void*>(i)) glDrawElements(GL_TRIANGLE_STRIP, count, GL_UNSIGNED_SHORT, BUFFER_OFFSET(offset)) ``` If the offset is 0, then ``` glDrawElements(GL_TRIANGLE_STRIP, count, GL_UNSIGNED_SHORT, None) ``` works, but I can not figure out how to specify a non-zero offset into a buffer object.

Original source