Hi Ben,

I like this solution for staying with the original API. Tested it with 
ordered groups and it still performs correctly. I'm missing a couple pieces 
in terms of how it works with batches, though. I can't find the code change 
that actually causes Batch to use OrderedVertexDomain - can you point me to 
it?

On Saturday, November 19, 2016 at 8:30:59 AM UTC-6, Benjamin Moran wrote:
>
> Hi Josh, 
>
> I took your work and ran with it a little, to see if it could be fit into 
> the existing api. So far, It seems to be going OK, but I would greatly 
> appreciate your feedback on this. I'm just kinda winging it here :) 
> You can find my "ordered_sprite" branch here:  
> https://bitbucket.org/treehousegames/pyglet/branch/ordered_sprite
>
> First of all, I implemented an OrderedVertexDomain which is a copy of your 
> OrderedDomain. The main difference is that it has it's own vertex_lists 
> list, and sorting method. It also has it's own "create" method, which 
> monkey patches an "order" attribute on the vertex_list, for use by the 
> sorting method. There is a simple "self.dirty" attribute that determines if 
> the vertex_lists list should be sorted automatically before the next draw. 
>
> By pushing all of that down the stack into the vertexdomain, The Sprite 
> and SpriteGroup classes could be left almost original. The only addition 
> being a "depth" property on the Sprite class which updates the vertex list 
> order attribute, and sets the domain to "dirty" so that it will be sorted 
> before the next draw. 
>
> As for requiring all sprites to be on the same TextureAtlas for blending 
> to work correctly, that is still a requirement (no way around this in 
> OpenGL). However, it's up to the user to ensure this part. It would be 
> "automatic" if using the pyglet.resource module. If the user doesn't use a 
> single atlas, everything will still work fine - but of course sorting won't 
> work because they will be in different domains. 
>
> I haven't tested any of it yet, but I think animations and such will work 
> fine since it's using the existing Groups and such. 
>
> -Ben
>
>
>
> On Friday, November 18, 2016 at 5:46:52 AM UTC+9, Josh wrote:
>>
>> Hi Ben,
>>
>> There's no roadblock with migrating OrderedDomains, it's just something I 
>> skipped for now (similar to animation support). It will require going 
>> deeper into the weeds with pyglet's allocation system, and there are some 
>> aspects of that I still don't understand. 
>>
>> Best,
>>
>> Josh
>>
>

-- 
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