You can still batch render the sprites using vertex lists, though I don' t 
think pyglets built in Sprite class supports Z coords.

import pyglet
from pyglet.gl import *


class Example(pyglet.window.Window):
    def __init__(self):
        super(Example, self).__init__(640, 480, resizable=False, fullscreen=
False, caption="Example")
        self.clear()

        self.render = pyglet.graphics.Batch()

        self.texture1 = pyglet.image.load('sample.png').get_texture()
        self.texture2 = pyglet.image.load('sample2.png').get_texture()

        self.images = []
 
        self.images.append(self.render.add(4, pyglet.gl.GL_QUADS, group(1),
                ('v3f',((16),(16),0.999996, 32+(16),(16),0.999996, 32+(16),
32+(16),0.999996, (16),32+(16),0.999996)),
                ('t3f',(self.texture1.tex_coords))))

        self.images.append(self.render.add(4, pyglet.gl.GL_QUADS, group(2),
                ('v3f',((32),(32),0.999995, 32+(32),(32),0.999995, 32+(32),
32+(32),0.999995, (32),32+(32),0.999995)),
                ('t3f',self.texture2.tex_coords)))

        pyglet.clock.get_fps()
        self.fps_display = pyglet.clock.ClockDisplay()
        pyglet.clock.schedule_interval(self.update, .01)


    def update(self,dt):
        self.draw()        


    def draw(self):
        self.clear()
    #enable depth sorting
        glClear(GL_DEPTH_BUFFER_BIT)
        glEnable(GL_DEPTH_TEST)
    #bind textures for rendering batch(s)
        glEnable(GL_TEXTURE_2D)
        self.render.draw()
        glDisable(GL_TEXTURE_2D)
    #disable depth sorting
        glDisable(GL_DEPTH_TEST)

        self.fps_display.draw()


class group(pyglet.graphics.OrderedGroup):
    def set_state(self):
        if self.order == 1:
            glBindTexture(GL_TEXTURE_2D, window.texture1.id)
        if self.order == 2:
            glBindTexture(GL_TEXTURE_2D, window.texture2.id)


if __name__ == '__main__':
    window = Example()
    pyglet.app.run()


-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyglet-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to