Hi,
I'm trying to learn pyglet, and I've taken some simple code from [1]
and modified it by basically only adding an "update()" function. No
matter what I actually do in the "update()" function, the program will
always freeze after a random number of iterations. Why is that? Is
there something special about the "update()" function that I need to
consider? If I run the code with the python debugger "python -m pdb
myscript.py" and set a break point in the "update()" function, then
program doesn't freeze. If I delete the break point and let the
program continue it will freeze again eventually. Once the program
freezes in "Pdb" mode, I can not retrieve a traceback.
And here's the code:
import pyglet
from pyglet.gl import *
from ctypes import pointer, sizeof
def triangles_v2f(scale):
if scale < 1.0:
return []
else:
data = triangles_v2f(scale / 2.0)
data.extend([
100 + scale, 100,
100 + scale, 100 + scale,
100, 100 + scale,
])
return data
vbo_id = GLuint()
glGenBuffers(1, pointer(vbo_id))
v2f = triangles_v2f(200)
data = (GLfloat*len(v2f))(*v2f)
glBindBuffer(GL_ARRAY_BUFFER, vbo_id)
glBufferData(GL_ARRAY_BUFFER, sizeof(data), data, GL_STATIC_DRAW)
window = pyglet.window.Window(width=400, height=400)
fps_display = pyglet.clock.ClockDisplay()
glClearColor(0.2, 0.4, 0.5, 1.0)
glEnableClientState(GL_VERTEX_ARRAY)
counter = 0;
def update(dt):
global counter
counter += 1
# print counter
pyglet.clock.schedule_interval(update, 1.0/60.0)
@window.event
def on_draw():
glClear(GL_COLOR_BUFFER_BIT)
glColor3f(0, 0, 0)
glBindBuffer(GL_ARRAY_BUFFER, vbo_id)
glVertexPointer(2, GL_FLOAT, 0, 0)
glDrawArrays(GL_TRIANGLES, 0, len(v2f)/2)
fps_display.draw()
pyglet.app.run()
any pointers on how to track down and fix this problem are greatly
appreciated!
cheers,
andreas
ps: I am using a recent version of pyglet 1.2dev on a linux machine
[1]: https://sites.google.com/site/swinesmallpygletexamples/vbo-triangle
--
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.