I think the problem is in the verts.delete call.
To demonstrate:
in Example/Shapes.Rectangle.delete, comment out the line
"self.verts.delete()"
(Shapes.py line 150)
The problem does not occur, and I cannot get it to crash again.

On Dec 4, 11:58 am, Joe Cross <[email protected]> wrote:
> Hello,
>
> Much simpler demo here.
>
> https://github.com/numberoverzero/BatchDrawExample
>
> Simply import Example and click around.
>
> Main runs the window and update, and Shape takes care of rectangle
> updating.
> The reason for getters/setters on each variable is so that when they
> change, verts are updated correctly.
>
> Thanks again for any help,
>
> Joe
>
> On Dec 4, 1:54 am, Joe Cross <[email protected]> wrote:
>
>
>
>
>
>
>
> > Posted this to the wrong address twice, off to a good start.  Here we go...
>
> > I've been working on this for a while, and simply can't figure out what's
> > up.
>
> > The short version is when I call a bunch of deletes on VertexLists in the
> > same batch, I seem to be crashing the driver.
> > Is this expected behavior? I think I'm trying to delete a few hundred at a
> > time, and when I don't call delete, it has no problems.
> > Also, if I do the draws to unique batches and then draw those batches
> > immediately, no problems. (Besides the giant performance drop that I'm
> > trying to avoid.)
>
> > Also, if I comment out lines 679-682 in pyglet/graphics/vertexdomain.
> > py:
> > elif primcount == 1:
> >                 # Common case
> >                 glDrawElements(mode, sizes[0], self.index_gl_type,
> >                     self.index_buffer.ptr + starts[0])
> > That also takes care of the problem- doesn't matter what I do, with those
> > lines commented out (and the code falling through to the next case) it runs
> > fine.
>
> > I'm not yet sure how to make a succinct demo to run, but if any of you have
> > the time, the github 
> > is:https://github.com/numberoverzero/Game-Framework-for-Pyglet/tree/6d01...
>
> > To set it up, edit the path in
> > Game-Framework-for-Pyglet/Testing/ExplosionMaker/__init__.py to reflect the
> > directory that you cloned the repo to.
> > Then, run /Testing/CurrentTest.py
>
> > There is a bunch of "Explosion updated a particle" output to console,
> > because I wanted to make sure that I wasn't calling delete twice on a
> > particle anywhere.
>
> > Thanks for any help, and I'll work on getting a small demo script together
> > so it's easier to test.

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

Reply via email to