I gather you're implying that I can use a string view of the numpy array's buffer interface... OK, I'll give that a try and write up an example if I succeed.
Alex Holkner wrote: > On 12/15/07, Andrew Straw <[EMAIL PROTECTED]> wrote: >> Alex Holkner wrote: >>> On 12/5/07, Tony <[EMAIL PROTECTED]> wrote: >>> >>>> Hi, >>>> >>>> I just started using pyglet after upgrading to Leopard OS X (before I >>>> was using pygame). I'm trying to display (or animate) the values of a >>>> numpy array (2D), but I haven't been able to figure out how. >>>> >>> A more efficient way to draw the entire array is to copy it into a >>> texture. Use the pyglet.image.ImageData to create and update the data >>> in a texture, which is then drawn using the blit() method. If your >>> numpy array is not in a format that ImageData can use, you can use the >>> glTexSubImage2D call directly, with a little more effort. >>> >> It seems a good idea to be able to create an Image without copying the >> data. As far as I can tell from a few minutes of browsing the code, this >> doesn't seem currently possible, as ImageData's _ensure_string_data() >> seems to allocate a new buffer each time. What are the prospects for >> making a code path that takes the raw data buffer, e.g. from numpy's >> my_array.ctypes.data (of course checking that the array properties are >> valid for a direct memory view, such as dimensions, strides, dtype, and >> so on)? >> >> Can you give some hints as to what would be necessary to either A) >> modify ImageData to take a buffer object (or a view of numpy data, >> although this is more specific and less general) or B) create a >> ImageData-like class that would do something similar? > > The _ensure_string_data() path is skipped if the data is already in a > format supported by your video card. Off the top of my head, this > means: > > * Positive pitch (image rows are ordered bottom-up) > * Not having the subimage workaround enabled > * A format such as 'RGBA', 'RGB' or perhaps 'BGR', 'BGRA' if you have > the relevant extension. > > Alex. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pyglet-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pyglet-users?hl=en -~----------~----~----~----~------~----~------~--~---
