Exemple #1
0
class FiveBallScene(Actor):
    def __init__(self):
        Actor.__init__(self)
        self.glut_sphere = GlutSphereActor()
        self.glut_cylinder = GlutCylinderActor()
        self.color = [0.15, 0.15, 0.80]
        sphere = Vec3([0,0,0])
        sphere.center = Vec3([0,0,0])
        sphere.radius = 1.0
        sphere.color = self.color
        sphere.index = 0
        # self.sphere_array = VertexArrayTest()
        self.sphere_array = SphereImposterArray([sphere,])
        buffers = atom_attributes
        # self.sphere_array = NewSphereArray(buffers)
        cylinder = Vec3([0,0,0])
        cylinder.center = Vec3([0,0,0])
        cylinder.radius = 1.0
        cylinder.height = 2.0
        self.cylinder_array = CylinderImposterArray([cylinder,])
        
    def init_gl(self):
        glutInit(sys.argv)
        self.sphere_array.init_gl()
        self.glut_cylinder.init_gl()
        self.cylinder_array.init_gl()
        
    def paint_gl(self, camera=None, renderer=None):
        c = self.color
        glColor3f(c[0], c[1], c[2]) # paint spheres blue
        glPushMatrix()
        glTranslate(-3.0, 0, 0)
        for p in range(5):
            # Leave a spot for shader sphere
            if 3 == p:
                self.sphere_array.paint_gl(camera, renderer)
            else:
                self.glut_sphere.paint_gl()
            glTranslate(1.5, 0, 0)
        glPopMatrix()
        glPushMatrix()
        glTranslate(-3.0, 2.0, 0)
        for p in range(5):
            # TODO Leave a spot for shader cylinder
            if 3 == p:
                self.cylinder_array.paint_gl()
            else:
                self.glut_cylinder.paint_gl()
            glTranslate(1.5, 0, 0)
        glPopMatrix()
        glPushMatrix()
        glTranslate(-3.0, 4.0, 0)
        for p in range(5):
            # TODO Leave a spot for shader cylinder
            self.glut_cylinder.paint_gl()
            glTranslate(1.5, 0, 0)
        glPopMatrix()
Exemple #2
0
 def __init__(self):
     Actor.__init__(self)
     self.glut_sphere = GlutSphereActor()
     self.glut_cylinder = GlutCylinderActor()
     self.color = [0.15, 0.15, 0.80]
     sphere = Vec3([0,0,0])
     sphere.center = Vec3([0,0,0])
     sphere.radius = 1.0
     sphere.color = self.color
     sphere.index = 0
     # self.sphere_array = VertexArrayTest()
     self.sphere_array = SphereImposterArray([sphere,])
     buffers = atom_attributes
     # self.sphere_array = NewSphereArray(buffers)
     cylinder = Vec3([0,0,0])
     cylinder.center = Vec3([0,0,0])
     cylinder.radius = 1.0
     cylinder.height = 2.0
     self.cylinder_array = CylinderImposterArray([cylinder,])