Hi Jonathan,

That is very heartening, thank you.  Your work was inspirational to me when
I first started using pyglet.  I was wondering where you had gone to!

I hope this ends up being something that is useful in a variety of
applications, but batch transformations and rendering seems like the most
obvious if not only good application of it.  And then I wonder if anyone
worth their salt is just using shaders to do all the rotations and other
pre-rendering calculations.  I just don't know enough about shaders to know
if one could replace my project with them or if one would want to.

Still, I'm plugging along.  I mostly have entity deletion working.

Thanks and good luck with the kiddo,
  Elliot

On Sun, Jan 24, 2016 at 1:29 PM, Jonathan Hartley <[email protected]> wrote:

> This is fabulous. I don't have the time to offer to help out, but am
> really glad you posted about it here, and look forward to taking it for a
> spin at some point. It's exactly the sort of thing I idly thought about
> doing years ago, before I became a dad and lost all my free time. :-)
>
>
> On Saturday, January 2, 2016 at 5:18:32 PM UTC-6, elliot wrote:
>
>> Hi all,
>>
>> Not a question here.  More of an announcement and making sure I'm not
>> duplicating efforts or digging a hole with unforeseen serious limitations.
>> Any feedback is much appreciated.
>>
>> I'm interested in making a simple 2D game engine using pyglet.  One issue
>> that came up was that translating and rotating every object every frame in
>> pure python was dominating the execution time (~90%).  I tried using numpy,
>> but since each object has < 20 vertices it was actually a performance hit
>> rather than a gain.  This got me interested in a more Data Oriented
>> Programming approach.  All of the data needed for rotations could be
>> batched and operated on in one numpy vectorized operation.
>>
>> I wrote a simple proof of concept which you can find here:
>> https://github.com/Permafacture/data-oriented-pyglet
>>
>> Of course, using numpy correctly has reduced the heavy maths to 1/10th of
>> it's original execution time, increasing the max frame rate for 100
>> spinning objects from ~225 fps to ~625 fps on my little thinkpad.
>>
>> I have spent some time reading through the graphics module of pyglet.  I
>> really like the way it is set up.  I originally thought I'd use batches,
>> and use ctypes to access the attribute buffers directly.  But now I'm
>> thinking to just implement something very much like a domain (use pyglet's
>> allocator and the rest of pyglet graphics's Data Oriented Programming
>> style) and have it be a more general data oriented ORM which could render
>> it's vertices through glVertexPointer, glColorPointer and glDrawArrays (see
>> third.py in the repo).
>>
>> Thanks for reading and Happy New Year,
>>
>> Elliot
>>
> --
> You received this message because you are subscribed to the Google Groups
> "pyglet-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/pyglet-users.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/pyglet-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to