You can convert to the appropriate data type by using this convension >>> from pyglet.gl import *
# single values >>> a = (GLfloat)(1.0) >>> a c_float(1.0) # arrays >>> data = [1.0, 2.0, 3.0] >>> a = (GLfloat * len(data))(*data) >>> a <__main__.c_float_Array_3 object at 0x106078e60> # numpy (nicer than arrays >>> import numpy >>> data = numpy.array([1.0, 2.0, 3.0]) >>> a = (GLfloat * data.size)(*data) >>> a <__main__.c_float_Array_3 object at 0x108931b90> >>> for val in a: print val ... 1.0 2.0 3.0 Be aware that using len(list) will only get you the first dimension. This is why I prefer numpy, as you can simply use 'data.size' to get the entire size of the array. Eg. >>> a = [[1,2,3],[4,5,6]] >>> len(a) 2 >>> a = numpy.array( a ) >>> len(a) 2 >>> a.size 6 This also applies for textures. I've seen a lot of code converting numpy arrays to strings and then passing that to the image.set_data functions. Don't do this! Just pass a data array in the proper format. Hope this helps =) Cheers, Adam On Thursday, October 11, 2012 9:10:05 AM UTC+11, Wallace Davidson wrote: > > Thanks :) > > On Thu, Oct 11, 2012 at 11:07 AM, Adam Bark <[email protected]<javascript:> > > wrote: > >> On 10/10/12 22:44, Wallace Davidson wrote: >> >> That sounds good then :) It can be used with pyglet can't it? >> >> On Thu, Oct 11, 2012 at 10:38 AM, Adam Bark <[email protected]<javascript:> >> > wrote: >> >>> On 10/10/12 22:11, Wallace Davidson wrote: >>> >>> I heard it was slower :/ would it be much different? >>> >>> On Thu, Oct 11, 2012 at 10:09 AM, Adam Bark <[email protected]<javascript:> >>> > wrote: >>> >>>> On 10/10/12 21:59, Wallace Davidson wrote: >>>> >>>>> Thanks that does help :) Would you know how I can get a python matrix >>>>> usable in opengl? :/ It just says "expected LP_c_float instance instead >>>>> of >>>>> matrix" when I try use a numpy one :( >>>>> >>>>> If you want to use numpy matrices and opengl then get pyopengl, it's >>>> a nicer library anyway as you don't have to mess around with ctypes. >>>> >>>> >>>> If you're using core opengl it shouldn't make much difference as >>> you won't need to make many calls, immediate mode is where you might find >>> some slowdown. I use it personally and haven't had any performance issues >>> that weren't related to either poor programming on my part or my incredibly >>> old graphics card (NVidia 7950GT). >>> -- >>> >> Yes, that's what I'm using. Just post if you need any pointers. >> -- >> 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]<javascript:> >> . >> To unsubscribe from this group, send email to >> [email protected] <javascript:>. >> For more options, visit this group at >> http://groups.google.com/group/pyglet-users?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To view this discussion on the web visit https://groups.google.com/d/msg/pyglet-users/-/2FvAUG92cugJ. 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.
