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