def enable(self, shader):
    if not self.turnon:
      return False

    if self.assigned.has_key(shader):
      shader = self.assigned[shader]

    if self[shader] is None:
      return False

    glUseProgramObjectARB(self[shader]["program"])
    self.active = self.shaders[shader]
    self.setTextures()
    self.update()
    self.globals["time"] = self.time()
    self.setGlobals()
    if self.getVar("time"):
      self.setVar("dt",self.globals["time"]-self.getVar("time"))
      
    return True
 def disable(self):
   if self.active != 0:
     glUseProgramObjectARB(0)
     self.active = 0