CUDA - OpenGL interop

I think that’s the best way to start - you might want to create a little VertexBufferObject class that holds the pointer, size, and dtype, and pass instances of it to the kernel, so that your extension can do something like isinstance(val, VertexBufferObject) to know whether to convert the value to a Numba device array - otherwise just passing the raw pointer could be difficult to distinguish from any other integer.