Ejemplo n.º 1
0
 def disable(self):
     if not self.shadowsEnabled:
         return
     self.shadowsEnabled = 0
     taskName = 'shadowCamCompass'
     taskMgr.remove(taskName)
     self.shadowCamArm.removeNode()
     self.shadowCam.removeNode()
     if base.main_rtt:
         cam = base.main_rtt.camera_node_path.node()
         if cam:
             cam.clearTagState('caster')
     else:
         base.camNode.clearTagState('caster')
     self.turnOffShadows()
     self.shadowTex = None
     self.shadowStage = None
     ShadowCaster.setGlobalDropShadowFlag(1)
     return
Ejemplo n.º 2
0
    def enable(self, fMoreShadows=False):
        self.fMoreShadows = fMoreShadows
        self.disable()
        self.shadowsEnabled = 1
        ShadowCaster.setGlobalDropShadowFlag(0)
        camNode = Camera('shadowCam')
        camNode.setCameraMask(OTPRender.ShadowCameraBitmask)
        self.shadowLens = OrthographicLens()
        if fMoreShadows:
            self.shadowLens.setFilmSize(60 * 4, 60 * 4)
        else:
            self.shadowLens.setFilmSize(60, 60)
        camNode.setLens(self.shadowLens)
        self.shadowCamArm = base.camera.attachNewNode('shadowCamArm')
        self.shadowCam = self.shadowCamArm.attachNewNode(camNode)
        self.shadowCamArm.setPos(0, 40, 0)
        self.shadowCam.setPos(0, -40, 0)
        taskName = 'shadowCamCompass'
        taskMgr.remove(taskName)

        def applyCompassEffect(task, self=self):
            self.shadowCamArm.setHpr(self.lightSrc, 0, 0, 0)
            self.shadowCamArm.setScale(1)
            return Task.cont

        taskMgr.add(applyCompassEffect, taskName, priority=46)
        self.shadowTex = Texture('shadow')
        self.shadowTex.setBorderColor(self.clearColor)
        self.shadowTex.setWrapU(Texture.WMBorderColor)
        self.shadowTex.setWrapV(Texture.WMBorderColor)
        self.casterState = NodePath('temp')
        self.casterState.setColorScaleOff(10)
        self.casterState.setColor(self.shadowColor, self.shadowColor,
                                  self.shadowColor, 1, 10)
        self.casterState.setTextureOff(10)
        self.casterState.setLightOff(10)
        self.casterState.setFogOff(10)
        camNode.setInitialState(self.casterState.getState())
        render.hide(OTPRender.ShadowCameraBitmask)
        self.shadowStage = TextureStage('shadow')
        self.shadowStage.setSort(1000)
        self.turnOnShadows()
 def disable(self):
     if not self.shadowsEnabled:
         return None
     
     self.shadowsEnabled = 0
     taskName = 'shadowCamCompass'
     taskMgr.remove(taskName)
     self.shadowCamArm.removeNode()
     self.shadowCam.removeNode()
     if base.main_rtt:
         cam = base.main_rtt.camera_node_path.node()
         if cam:
             cam.clearTagState('caster')
         
     else:
         base.camNode.clearTagState('caster')
     self.turnOffShadows()
     self.shadowTex = None
     self.shadowStage = None
     ShadowCaster.setGlobalDropShadowFlag(1)
    def enable(self, fMoreShadows = False):
        self.fMoreShadows = fMoreShadows
        self.disable()
        self.shadowsEnabled = 1
        ShadowCaster.setGlobalDropShadowFlag(0)
        camNode = Camera('shadowCam')
        camNode.setCameraMask(OTPRender.ShadowCameraBitmask)
        self.shadowLens = OrthographicLens()
        if fMoreShadows:
            self.shadowLens.setFilmSize(60 * 4, 60 * 4)
        else:
            self.shadowLens.setFilmSize(60, 60)
        camNode.setLens(self.shadowLens)
        self.shadowCamArm = base.camera.attachNewNode('shadowCamArm')
        self.shadowCam = self.shadowCamArm.attachNewNode(camNode)
        self.shadowCamArm.setPos(0, 40, 0)
        self.shadowCam.setPos(0, -40, 0)
        taskName = 'shadowCamCompass'
        taskMgr.remove(taskName)
        
        def applyCompassEffect(task, self = self):
            self.shadowCamArm.setHpr(self.lightSrc, 0, 0, 0)
            self.shadowCamArm.setScale(1)
            return Task.cont

        taskMgr.add(applyCompassEffect, taskName, priority = 46)
        self.shadowTex = Texture('shadow')
        self.shadowTex.setBorderColor(self.clearColor)
        self.shadowTex.setWrapU(Texture.WMBorderColor)
        self.shadowTex.setWrapV(Texture.WMBorderColor)
        self.casterState = NodePath('temp')
        self.casterState.setColorScaleOff(10)
        self.casterState.setColor(self.shadowColor, self.shadowColor, self.shadowColor, 1, 10)
        self.casterState.setTextureOff(10)
        self.casterState.setLightOff(10)
        self.casterState.setFogOff(10)
        camNode.setInitialState(self.casterState.getState())
        render.hide(OTPRender.ShadowCameraBitmask)
        self.shadowStage = TextureStage('shadow')
        self.shadowStage.setSort(1000)
        self.turnOnShadows()