Fiddling around with lighting and a Rendermanager
This commit is contained in:
parent
8dcc04b7b2
commit
8d7625a411
5 changed files with 88 additions and 22 deletions
Lights
|
@ -21,18 +21,40 @@ class LightingManager:
|
|||
self.Lights.remove(l)
|
||||
|
||||
class __Renderstep:
|
||||
def __init__(self,program, vai):
|
||||
self.program = program
|
||||
self.vai = vai
|
||||
def render(self, projMatrix, geometryRotMatrix):
|
||||
pass
|
||||
class __Structurestep(__Renderstep):
|
||||
def __init__(self, alternateprogramdict, structure):
|
||||
self.alternateprogramdict = alternateprogramdict
|
||||
self.structure = structure
|
||||
def __eq__(self, other):
|
||||
if type(other) is type(self):
|
||||
return self.program == other.program and self.vai == self.vai
|
||||
return self.alternateprogramdict == other.alternateprogramdict and self.structure == self.structure
|
||||
else:
|
||||
return False
|
||||
def render(self,projMatrix,geometryRotMatrix):
|
||||
self.structure.render(projMatrix,geometryRotMatrix,self.alternateprogramdict)
|
||||
class __Clearstep(__Renderstep):
|
||||
def render(self, projMatrix, geometryRotMatrix):
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
|
||||
|
||||
def addRenderStep(self,program,vai):
|
||||
r = self.__Renderstep(program,vai)
|
||||
class __ActivateDepthmappingStep(__Renderstep):
|
||||
def __init__(self,light):
|
||||
self.light = light
|
||||
|
||||
def render(self, projMatrix, geometryRotMatrix):
|
||||
self.light.prepareForDepthMapping()
|
||||
|
||||
class __DeactivateDepthmappingStep(__Renderstep):
|
||||
def __init__(self, light):
|
||||
self.light = light
|
||||
|
||||
def render(self, projMatrix, geometryRotMatrix):
|
||||
self.light.finishDepthMapping()
|
||||
|
||||
def addRenderStep(self,alternateprogramdict,structure):
|
||||
r = self.__Renderstep(alternateprogramdict,structure)
|
||||
self.renderSteps.append(r)
|
||||
def removeRenderStep(self,program,vai):
|
||||
r = self.__Renderstep(program, vai)
|
||||
def removeRenderStep(self,alternateprogramdict,structure):
|
||||
r = self.__Renderstep(alternateprogramdict,structure)
|
||||
self.renderSteps.remove(r)
|
Loading…
Add table
Add a link
Reference in a new issue