It doesn't work for me either (on Mac OS 10.5), and I can't see why not -- probably some trivial error in the code, or conceivably a pyglet bug in the specific combination of features you're using (though I doubt it). (There are several useless or redundant statements, a mutable class global (Bag.shapes), not clearing the depth buffer (except with self.clear() which I think does that), etc, but those don't seem to be the cause. )
But I would suggest just starting with a known working, simple example -- there are many available, including in pyglet's own examples directory -- and modifying that, to get going. (This would also get you going with a better way of using pyglet features, e.g. using a pyglet Batch rather than your own less efficient Bag class.) - Bruce Smith On Sun, Oct 25, 2009 at 2:04 AM, Pawel <[email protected]> wrote: > > Hi, (having used c++ and java before) I've so far ran a few simple > pyglet programs successfully, more or less copied from the > documentation. Prefering to stick to OOP and not to use decorators I > wrote a program with the main window sub-classed, with one 'shape' > class and one 'bag' (for the shapes) class. The trivial program is > below. It runs without errors but I only get a blank black screen. > I'm assuming I've missed something obvious but haven't for the life of > me been able to figure out what that is. Please point me in the right > direction. I'm on linux. > > pawel. > > #!/usr/bin/python > > > import pyglet > import pyglet.graphics > from pyglet.gl import * > > class Shape: > def __init__(self, x, y): > self.x = x > self.y = y > self.verts = (0, 0, x, 0, x, y, 0, y) > > x = 0 > y = 0 > cols = (0, 125, 255, 0, 125, 125, 0, 125, 125, 0, 125, 255) > verts = () > > def draw(self): > glLoadIdentity(); > vertex_list = pyglet.graphics.vertex_list(4, > ('v2i', self.verts), > ('c3i', self.cols) ) > vertex_list.draw(pyglet.gl.GL_POLYGON) > print 'x, y = ', self.x, self.y > print 'verts, cols = ', self.verts, self.cols > > class Bag: > shapes = [] > > def __init__(self): > pass > > def add(self, sh): > self.shapes.append(sh) > > def draw(self): > for i in range(len(self.shapes)): > self.shapes[i].draw() > > > class myWindow(pyglet.window.Window): > > def on_draw(self): > self.clear() > glClear(GL_COLOR_BUFFER_BIT) > glMatrixMode(GL_MODELVIEW) > bag.draw() > > > win = myWindow() > bag = Bag() > > k = Shape(10, 70) > bag.add(k) > > l = Shape(65, 15) > bag.add(l) > > pyglet.app.run() > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
