Has anyone done any in depth OpenGL with the python API?
My plug-in is essentially a point cloud viewer displaying +millions of points.
My first implementation used display lists which is good for static geometry,
but not so good for wanting to dial in density or using an interactive crop
box. The display lists need to be regenerated every time there's a change.
My plan was to implement both vertex arrays and vertex buffer objects and have
a toggle between display lists, vertex arrays and vertex buffer objects to see
the performance of each.
I was able to create vertex arrays using numpy. But, I'm unable to create
vertex buffer arrays.
I'm trying to use glFT.glGenBuffersARB within a locator node with no luck.
glGenBuffersARB takes 2 arguments
>From the OpenGL 3.2 Spec
GenBuffers(sizei n, uint *buffers)
>From PyOpenGL 3.0
glGenBuffers(GLsizei(n), GLuintArray(buffers))
No matter what I give it Maya throws the following error
// Error: TypeError: file /Users/Justin/Documents/workspace/lidar/ptxViewer.py
line 285: in method 'MGLFunctionTable_glGenBuffersARB', argument 3 of type
'MGLuint *' //
Does anyone know how to create a MGLuint* in Maya's python?
I've tried passing a few things in hopes that something would give, but to no
avail.
buffer = numpy.zeros(0, 'uint32')
buffer = OpenMaya.MScriptUtil().asUintPtr()
buffer = OpenMaya.MUintArray()
glFT.glGenBuffersARB(1, buffer)
I know this is probably doable through the C++ API, but I liked the idea of
prototyping in python then porting it to see the performance benefits between
the python/c++ implementations.
Cheers,
Justin
--
http://groups.google.com/group/python_inside_maya