When using glReadPixels in combinations with pixel buffer
objects
(PBOs) the last (C) argument is no longer the address of
memory to
move the data to, but an offset from the currently defined buffer
object base.
As a trivial example it is connon to use:
glReadPixels(0,0,640,480,GL_BGRA,GL_UNSIGNED_BYTE,0)
Which causes the data to be copied to the base (0 offset) of the
currently defined PBO.
Of course, in pyOpengl this does not seem doable, as the
buffers are
handled internally, and the last argument is not exposed.
Is it possible that we could have new versions of the affected
calls
exposed that do take the last argument?
Perhaps a glReadPixelsB (for buffer) or something like that?
(glWritePixels has the same limitation).
PBOs are a very important feature for using openGL in image
processing, so this would be a very useful addition.
It would also allow glReadPixels to be used from python in
situations
where the overhead of the double data copy currently required for
the
(much easier to use) current implementation is too much when
moving
through bounce buffers.
I've just added code to bzr head to support passing in the array argument to glReadPixels, but haven't found glWritePixels to alter that.