Fix couple of bugs in FilterManager

This commit is contained in:
rdb 2009-01-30 15:05:26 +00:00
parent 3697996845
commit 5819a3c4e3
1 changed files with 9 additions and 3 deletions

View File

@ -68,6 +68,7 @@ class FilterManager(DirectObject):
self.rclears = self.getClears(self.region)
self.camera = cam
self.caminit = cam.node().getInitialState()
self.camstate = self.caminit
self.buffers = []
self.sizes = []
self.nextsort = self.win.getSort() - 1000
@ -173,6 +174,8 @@ class FilterManager(DirectObject):
if (colortex == None):
colortex = Texture("filter-base-color")
colortex.setWrapU(Texture.WMClamp)
colortex.setWrapV(Texture.WMClamp)
texgroup = (depthtex, colortex, auxtex, None)
@ -193,7 +196,7 @@ class FilterManager(DirectObject):
quad.setColor(Vec4(1,0.5,0.5,1))
cs = NodePath("dummy")
cs.setState(self.caminit)
cs.setState(self.camstate)
# Do we really need to turn on the Shader Generator?
#cs.setShaderAuto()
if (auxbits):
@ -238,7 +241,9 @@ class FilterManager(DirectObject):
winx, winy = self.getScaledSize(mul, div, align)
buffer = self.createBuffer("filter-stage", winx, winy, texgroup, depthbits=0)
depthbits = bool(depthtex != None)
buffer = self.createBuffer("filter-stage", winx, winy, texgroup, depthbits)
if (buffer == None):
return None
@ -273,7 +278,7 @@ class FilterManager(DirectObject):
winprops.setSize(xsize, ysize)
props = FrameBufferProperties()
props.setRgbColor(1)
props.setDepthBits(1)
props.setDepthBits(depthbits)
depthtex, colortex, auxtex0, auxtex1 = texgroup
if (auxtex0 != None):
props.setAuxRgba(1)
@ -321,6 +326,7 @@ class FilterManager(DirectObject):
self.sizes = []
self.setClears(self.win, self.wclears)
self.setClears(self.region, self.rclears)
self.camstate = self.caminit
self.camera.node().setInitialState(self.caminit)
self.region.setCamera(self.camera)
self.nextsort = self.win.getSort() - 1000