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()
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,])