def __init__(self, enabledLights=[0]):
     VertShaderFunc.__init__(self, 'bump')
     self.numLights = len(enabledLights)
     self.enabledLights = enabledLights
     
     self.addVarying(type="vec3", name="lightVec[%d]" % self.numLights)
     self.addAttribute(type="vec4", name="vertexTangent")
 def __init__(self, app, lights, lightIndexes=None):
     VertShaderFunc.__init__(self, name='plight')
     self.app = app
     self.numLights = len(lights)
     self.lights = lights
     if lightIndexes==None:
         self.lightIndexes = range(self.numLights)
     else:
         self.lightIndexes = lightIndexes
     
     self.addVarying(type="vec3", name="lightVec[%d]" % self.numLights)
     self.addVarying(type="float", name="attenFacs[%d]" % self.numLights)
     self.addVarying(type="vec4", name="eyeVec")
     self.addVarying(type="vec3", name="positionVarying")
 def __init__(self, textureIndex=0):
     VertShaderFunc.__init__(self, name="vsmShadow")
     self.textureIndex = textureIndex
 def __init__(self):
     VertShaderFunc.__init__(self, name="vsmShadow")
     self.addVarying(type="vec4", name=VSM_VARYING_POS)
 def __init__(self, texIndex=0):
     VertShaderFunc.__init__(self, "planarReflection")
     self.texIndex = texIndex
     self.addVarying("vec4", "reflectionUV")