FYI, I also create my own Matrices. You can find all my code here: https://github.com/adamlwgriffiths/PyGLy
The matrix code can be found here: https://github.com/adamlwgriffiths/Pyrr https://github.com/adamlwgriffiths/Pyrr/blob/master/pyrr/matrix.py https://github.com/adamlwgriffiths/Pyrr/blob/master/pyrr/matrix33.py https://github.com/adamlwgriffiths/Pyrr/blob/master/pyrr/matrix44.py Examples of their usage (for OpenGL 2.1) can be found here: https://github.com/adamlwgriffiths/PyGLy/blob/master/pygly/examples/legacy/simple/main.py And the actual opengl calls here: https://github.com/adamlwgriffiths/PyGLy/blob/master/pygly/gl/legacy/__init__.py Cheers, Adam On Friday, October 19, 2012 2:52:09 AM UTC+11, Adam Griffiths wrote: > > 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]> 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]> 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]> 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]. >>> 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. >>> >> >> -- 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/-/ChaQTArGS38J. 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.
