Yeah that doesn't really address my real problem (this code is only a
test case, rather than a real-world use example).  Looks like this was
my problem: http://code.google.com/p/pyglet/issues/detail?id=399.  I
have implemented those changes and everything seems to run a lot
better now.

Appreciate your help though,

On Apr 30, 1:06 am, Padraig Kitterick <[email protected]>
wrote:
> Quick suggestion - only do the translate/rotate when you are actually  
> changing the rotation, i.e.
>
>     def on_draw ():
>         window.clear()
>         vertex_list.draw(gl.GL_LINES)
>
>     def update (dt):
>         rotation[1] += 90*dt
>         gl.glLoadIdentity()
>         gl.glTranslatef(0, -128, -512)
>         gl.glRotatef(rotation[1],0,1,0)
>
> That runs at 60fps and smoothly on my machine (3GHz P4 / radeon x300).
>
> -Padraig
>
> On 29 Apr 2009, at 13:00, jotham wrote:
>
>
>
> > Hello,
>
> > I have read a few posts on this group and parts of the pyglet
> > documentation and I cannot figure out if I am doing this correctly or
> > not.   I have written a small sample program that animates an RGB XYZ
> > axis.  Currently my test program behaves poorly on my computer (the
> > animation is fairly jerky).  I am using schedule_interval to update
> > the rotation of the axis model while drawing the model in the on_draw
> > event.  I am updating the rotation by using the dt value when I
> > calculate the rotation.  I have a Intel Core 2 DUO, Windows XP, and an
> > ATI Radeon 4870 GPU.  Any feedback would be appreciated.
>
> > import pyglet
> > from pyglet import gl
>
> > def main ():
> >    width = 512
> >    height = 384
> >    window = pyglet.window.Window(width, height)
> >    size = 256
> >    vertex_list = pyglet.graphics.vertex_list(6,
> >        ('v3f/static', (0,0,0,size,0,0,0,0,0,0,size,
> > 0,0,0,0,0,0,size)),
> >        ('c3B/static',
> > (255,0,0,255,0,0,0,255,0,0,255,0,0,0,255,0,0,255)))
> >    rotation = [0,0,0]
>
> >    def on_resize(width, height):
> >        gl.glViewport(0, 0, width, height)
> >        gl.glMatrixMode(gl.GL_PROJECTION)
> >        gl.glLoadIdentity()
> >        gl.gluPerspective(60, width/float(height), .1, 8192.)
> >        gl.glMatrixMode(gl.GL_MODELVIEW)
> >        return pyglet.event.EVENT_HANDLED
>
> >    def on_draw ():
> >        window.clear()
> >        gl.glLoadIdentity()
> >        gl.glTranslatef(0, -128, -512)
> >        gl.glRotatef(rotation[1],0,1,0)
> >        vertex_list.draw(gl.GL_LINES)
>
> >    def update (dt):
> >        rotation[1] += 90*dt
>
> >    window.push_handlers(on_draw, on_resize)
> >    pyglet.clock.schedule_interval(update, 1/30.)
> >    pyglet.app.run()
>
> > if __name__ == '__main__':
> >    main()
>
>
--~--~---------~--~----~------------~-------~--~----~
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