from OpenGL.GL import * class Light: nextLightNum = 0 def __init__(self): if Light.nextLightNum < GL_MAX_LIGHTS: self.lightNumber = GL_LIGHT0 + Light.nextLightNum Light.nextLightNum += 1 else: print "Warning: Maximum number of lights (", GL_MAX_LIGHTS, ") exceeded" self.lightNumber = GL_LIGHT0 + GL_MAX_LIGHTS - 1 self.ambient = [0, 0, 0, 1] self.diffuse = [1, 1, 1, 1] self.specular = [1, 1, 1, 1] self.position = [0, 0, 1, 0] def enable(self): glEnable(self.lightNumber) glLightfv(self.lightNumber, GL_POSITION, self.position) glLightfv(self.lightNumber, GL_AMBIENT, self.ambient) glLightfv(self.lightNumber, GL_DIFFUSE, self.diffuse) glLightfv(self.lightNumber, GL_SPECULAR, self.specular) def disable(self): glDisable(self.lightNumber)