def toggleAmbientOcclusion(self, checked):
        filters = CommonFilters(base.win, base.cam)

        if checked == True:
            filters.setAmbientOcclusion()
        else:
            filters.delAmbientOcclusion()
示例#2
0
    def __init__(self):
        BaseRenderer.__init__(self)  # <- important
        ShowBase.__init__(self)

        client = BulletClient(pb.DIRECT)
        client.setAdditionalSearchPath(pybullet_data.getDataPath())
        self.client = client

        # bind external renderer
        plugin = RenderingPlugin(client, self)

        # setup scene
        self.nodes = {}
        self.camLens.setNearFar(3, 7)
        self.camLens.setFilmSize(Vec2(0.030, 0.030))
        self.render.setAntialias(AntialiasAttrib.MAuto)
        self.render.setDepthOffset(1)
        self.render.setShaderAuto()
        self.setupScene(client)
        self.setupLights()

        # setup filters
        if args.ambient_occlusion:
            filters = CommonFilters(self.win, self.cam)
            filters.setAmbientOcclusion()

        # setup periodic tasks
        self.time = 0
        self.taskMgr.add(self.spinCameraTask, "SpinCameraTask")
        self.taskMgr.add(self.stepSimulationTask, "StepSimulationTask")

        if args.debug:
            self.oobe()
    def __init__(self):
        #Create a buffer for storing the shadow texture,
        #the higher the buffer size the better quality the shadow.
        self.shadowBuffer = base.win.makeTextureBuffer("Shadow Buffer",2048,2048)
        self.shadowBuffer.setClearColorActive(True)
        self.shadowBuffer.setClearColor((0,0,0,1))

        self.shadowCamera = base.makeCamera(self.shadowBuffer)
        self.shadowCamera.reparentTo(render)

        self.lens = base.camLens
        self.lens.setAspectRatio(1/1)
        self.shadowCamera.node().setLens(self.lens)
        self.shadowCamera.node().setCameraMask(BitMask32.bit(1))

        #Make everything rendered by the shadow camera grey:
        self.initial = NodePath('initial')
        self.initial.setColor(.75,.75,.75,1,1)
        self.initial.setTextureOff(2)
        self.initial.setMaterialOff(2)
        self.initial.setLightOff(2)
        self.shadowCamera.node().setInitialState(self.initial.getState())

        #The cameras pos effects the shadows dirrection:
        self.shadowCamera.setPos(-10, 0,20)
        self.shadowCamera.lookAt(0,0,0)

        #Make the shadows soft by bluring the screen:
        self.filters = CommonFilters(self.shadowBuffer,self.shadowCamera)
        self.filters.setBlurSharpen(.1)

        self.shadowTexture = self.shadowBuffer.getTexture()

        #Draw the shadowTexture on sceen:
        self.imageObject = OnscreenImage(image = self.shadowTexture,pos = (-.75,0,.75),scale=.2)
示例#4
0
    def __init__(self):
        base.disableMouse()
        # Turns off the default mouse-camera controls in Panda3D.

        base.setBackgroundColor(0, 0, 0)
        # Sets the background to black.

        self.inputManager = InputManager()
        # Creates an InputManager to handle all of the user input in the game.

        taskMgr.doMethodLater(10, self.debugTask, "Debug Task")
        # Tells the debugTask to run once every ten seconds. The debug task is a good
        # place to put various data print outs about the game to help with debugging.

        self.filters = CommonFilters(base.win, base.cam)
        filterok = self.filters.setBloom(blend=(0, 0, 0, 1),
                                         desat=-0.5,
                                         intensity=3.0,
                                         size=2)

        render.setShaderAuto()
        # Turns on Panda3D's automatic shader generation.

        self.menuGraphics = loader.loadModel("../Models/MenuGraphics.egg")
        self.fonts = {
            "silver": loader.loadFont("../Fonts/LuconSilver.egg"),
            "blue": loader.loadFont("../Fonts/LuconBlue.egg"),
            "orange": loader.loadFont("../Fonts/LuconOrange.egg")
        }

        self.race = Race(self.inputManager)
        self.race.createDemoRace()
        self.createStartMenu()
示例#5
0
    def __init__(self):
        ShowBase.__init__(self)
        self.disableMouse()

        props = WindowProperties()
        props.setTitle('Test')
        self.win.requestProperties(props)

        # self.render.setAntiAlias(AntialiasAttrib.MAuto)

        self.transitions = Transitions(self.loader)
        self.transitions.setFadeColor(0, 0, 0)

        self.filters = CommonFilters(self.win, self.cam)
        # self.filters.setCartoonInk()
        self.filters.setBlurSharpen(1)
        # self.filters.setVolumetricLighting(self.render)

        # self.buffer = self.win.makeTextureBuffer("Post-processing buffer", self.win.getXSize(), self.win.getXSize())
        # print self.buffer.getYSize()
        # self.texture = self.buffer.getTexture()
        # self.buffer.setSort(-100)
        #
        # self.originalCamera = self.camera
        # self.offScreenCamera = self.makeCamera(self.buffer)
        # self.camera = self.offScreenCamera
        #
        # self.img = OnscreenImage(image=self.texture, pos=(0, 0, 0.5))

        self.scene = None
        self.channel = Channel()
    def __createBuffer(self):
        if self.shadowsHidden or not (self.shadowsEnabled):
            return None

        self.__destroyBuffer()
        if not base.win.getGsg():
            return None

        if self.fMoreShadows and False:
            self.shadowBuffer = base.win.makeTextureBuffer('shadow',
                                                           1024 * 4,
                                                           1024 * 4,
                                                           tex=self.shadowTex)
        else:
            self.shadowBuffer = base.win.makeTextureBuffer('shadow',
                                                           1024,
                                                           1024,
                                                           tex=self.shadowTex)
        #self.shadowBuffer.setSort(30)
        self.shadowBuffer.setClearColor(self.clearColor)
        dr = self.shadowBuffer.makeDisplayRegion()
        dr.setCamera(self.shadowCam)
        #self.setupTask = taskMgr.doMethodLater(0, self.__setupCamera, 'setupCamera')

        self.filters = CommonFilters(self.shadowBuffer, self.shadowCam)
        self.filters.setBlurSharpen(.5)
示例#7
0
 def __init__(self):
     self.shadowBuffer = base.win.makeTextureBuffer('Shadow Buffer', 2048,
                                                    2048)
     self.shadowBuffer.setClearColorActive(True)
     self.shadowBuffer.setClearColor((0, 0, 0, 1))
     self.shadowCamera = base.makeCamera(self.shadowBuffer)
     self.shadowCamera.reparentTo(render)
     self.lens = base.camLens
     self.lens.setAspectRatio(1 / 1)
     self.shadowCamera.node().setLens(self.lens)
     self.shadowCamera.node().setCameraMask(BitMask32.bit(1))
     self.initial = NodePath('initial')
     self.initial.setColor(0.75, 0.75, 0.75, 1, 1)
     self.initial.setTextureOff(2)
     self.initial.setMaterialOff(2)
     self.initial.setLightOff(2)
     self.shadowCamera.node().setInitialState(self.initial.getState())
     self.shadowCamera.setPos(-10, 0, 20)
     self.shadowCamera.lookAt(0, 0, 0)
     self.filters = CommonFilters(self.shadowBuffer, self.shadowCamera)
     self.filters.setBlurSharpen(0.1)
     self.shadowTexture = self.shadowBuffer.getTexture()
     self.imageObject = OnscreenImage(image=self.shadowTexture,
                                      pos=(-0.75, 0, 0.75),
                                      scale=0.2)
示例#8
0
    def __init__(self):
        #loadPrcFile("Config.prc")
        ShowBase.__init__(self)
        self.config = ConfigManager.loadSettings()

        #Config stuff here
        self.filters = CommonFilters(base.win, base.cam)
        self.AOEnabled = False
        self.bloomEnabled = False
        self.invertEnabled = False
        self.OSD = True
        self.shadersLoaded = False
        self.xray_mode = False
        self.show_model_bounds = False
        self.fogEnabled = True
        self.mouseEnabled = False

        #Store which keys are currently pressed
        self.keyMap = {
            "1": 0,
            "escape": 0,
            "left": 0,
            "right": 0,
            "forward": 0,
            "backward": 0,
            "cam-left": 0,
            "cam-right": 0,
        }

        self.ButtonImage = loader.loadModel(
            "phase_3/models/gui/quit_button.bam")
        self.introButtons()
示例#9
0
    def __init__(self):
        ShowBase.__init__(self)
        base.setBackgroundColor(0, 0, 0)
        #render.setShaderAuto()

        #Load the Lights
        ambilight = AmbientLight('ambilight')
        ambilight.setColor(VBase4(1, 1, 1, 1))
        render.setLight(render.attachNewNode(ambilight))

        self.filters = CommonFilters(base.win, base.cam)
        filterok = self.filters.setBloom(blend=(0, 0, 0, 1),
                                         desat=-0.8,
                                         intensity=4.0,
                                         size="big")

        ##        self.glowSize=4

        ##        ts = TextureStage('ts')
        ##        ts.setMode(TextureStage.MGlow)

        self.tron = loader.loadModel("data/models/vehicles/vehicle01")
        self.tron.reparentTo(render)

        self.tron2 = loader.loadModel("data/models/vehicles/vehicle02")
        self.tron2.reparentTo(render)
        self.tron2.setX(5)

        self.tron3 = loader.loadModel("data/models/vehicles/vehicle03")
        self.tron3.reparentTo(render)
        self.tron3.setX(-5)
示例#10
0
    def __init__(self):
        base.disableMouse()
        # Turns off the default mouse-camera controls in Panda3D.

        base.setBackgroundColor(0, 0, 0)
        # Sets the background to black.

        self.inputManager = InputManager()
        # Creates an InputManager to handle all of the user input in the game.

        self.track = Track()
        # Creates the track the cycles will race on.

        self.cycle1 = Cycle(self.inputManager, self.track, 1, "Bert", ai=False)
        self.cycle2 = Cycle(self.inputManager, self.track, 2, "Ernie")
        # Creates one uncontrolled cycle, and one player controlled cycle.

        taskMgr.doMethodLater(10, self.debugTask, "Debug Task")
        # Tells the debugTask to run once every ten seconds. The debug task is a good
        # place to put various data print outs about the game to help with debugging.

        self.filters = CommonFilters(base.win, base.cam)
        filterok = self.filters.setBloom(blend=(0, 0, 0, 1),
                                         desat=-0.5,
                                         intensity=3.0,
                                         size=2)

        render.setShaderAuto()
示例#11
0
    def __init__(self):
        ShowBase.__init__(self)

        # Turn Auto Shaders and Antialiasing
        self.render.setShaderAuto()
        self.render.setAntialias(AntialiasAttrib.MAuto)

        # Setup Bloom and Blur Filters
        self.filters = CommonFilters(base.win, base.cam)
        self.filters.setBloom(blend=(1, 0, 0, 1),
                              desat=-0.5,
                              intensity=6.0,
                              size=2)
        #self.filters.setBlurSharpen(amount=0.5)

        # Create Ambient Lighting
        alight = AmbientLight('alight')
        alight.setColor(VBase4(1, 1, 1, 1))
        alnp = render.attachNewNode(alight)
        self.render.setLight(alnp)

        # Load Model and Add it to Scene
        self.environ = self.loader.loadModel("untitled.egg")
        self.environ.reparentTo(self.render)
        self.environ.setTransparency(TransparencyAttrib.MAlpha)
示例#12
0
    def toggleToonShading(self, checked):
        filters = CommonFilters(base.win, base.cam)

        if checked == True:
            filters.setCartoonInk()
        else:
            filters.delCartoonInk()
示例#13
0
    def postInit(self):
        #
        # initialize game content
        #
        # camera
        base.camLens.setNearFar(1.0, 10000)
        base.camLens.setFov(75)

        a = 33
        base.camera.setPos(0, -a, a + 3)  #80)
        # collision
        base.cTrav = CollisionTraverser("base collision traverser")
        base.cHandler = CollisionHandlerEvent()
        base.cPusher = CollisionHandlerPusher()
        base.cQueue = CollisionHandlerQueue()
        base.globalClock = ClockObject.getGlobalClock()
        base.cHandler.addInPattern('%fn-into-%in')
        base.cHandler.addOutPattern('%fn-out-%in')
        base.cHandler.addAgainPattern('%fn-again-%in')
        # ai init
        base.AIworld = AIWorld(render)
        # 3d manager
        base.audio3d = Audio3DManager(base.sfxManagerList[0], camera)
        # manager
        self.archiveManager = ArchiveManager()
        self.mapManager = MapManager()
        self.initHeroInfo = None
        # Lock
        self.lock = threading.Lock()
        self.gameThread = None

        self.filters = CommonFilters(base.win, base.cam)
        # UI
        self.menu = Menu()
        self.option = Option()
        self.archive = Archive()
        self.death = Death()
        # self.oobe()
        #self.Archive_status = 0
        # self.menuMusic = loader.loadMusic("assets/audio/menuMusic.ogg")
        # self.menuMusic.setLoop(True)
        # self.fightMusic = loader.loadMusic("assets/audio/fightMusic.ogg")
        # self.fightMusic.setLoop(True)
        # base.audio3d = Audio3DManager(base.sfxManagerList[0], camera)

        self.titleVideo, self.titleCard = loadVideo('title.mp4')

        self.isInited = False
        self.isSkip = False
        self.isRenew = False
        #
        # Event handling
        #
        self.accept("escape", self.__escape)

        #
        # Start with the menu
        #
        self.request("Menu")
示例#14
0
 def setBloomed(self):
     #setupfilters and shaders
     self.filters = CommonFilters(base.win, base.cam)
     #self.filters.setCartoonInk(separation=1.0)
     self.filters.setBloom(size="small")
     #self.filters.setVolumetricLighting(myCamera.cameraLightNode)
     render.setAttrib(LightRampAttrib.makeHdr0())
     pass
示例#15
0
    def __init__(self):
        ShowBase.__init__(self)

        # Disable the camera trackball controls.
        self.disableMouse()

        # Load the environment model.
        self.environ = self.loader.loadModel("models/environment")
        # Reparent the model to render.
        self.environ.reparentTo(self.render)
        # Apply scale and position transforms on the model.
        self.environ.setScale(0.25, 0.25, 0.25)
        self.environ.setPos(-8, 42, 0)

        # Add the spinCameraTask procedure to the task manager.
        self.taskMgr.add(self.spinCameraTask, "SpinCameraTask")

        # Load and transform the panda actor.
        self.pandaActor = Actor(models="models/panda-model",
                                anims={"walk": "models/panda-walk4"})
        self.pandaActor.setScale(0.005, 0.005, 0.005)
        self.pandaActor.reparentTo(self.render)
        # Loop its animation.
        self.pandaActor.loop("walk")

        # Create the four lerp intervals needed for the panda to
        # walk back and forth.
        A = Point3(0, 10, 0)
        B = Point3(0, -10, 0)
        pandaPosInterval1 = self.pandaActor.posInterval(13, B, startPos=A)
        pandaPosInterval2 = self.pandaActor.posInterval(13, A, startPos=B)
        pandaHprInterval1 = self.pandaActor.hprInterval(3,
                                                        Point3(180, 0, 0),
                                                        startHpr=Point3(
                                                            0, 0, 0))
        pandaHprInterval2 = self.pandaActor.hprInterval(3,
                                                        Point3(0, 0, 0),
                                                        startHpr=Point3(
                                                            180, 0, 0))

        # Create and play the sequence that coordinates the intervals.
        self.pandaPace = Sequence(pandaPosInterval1,
                                  pandaHprInterval1,
                                  pandaPosInterval2,
                                  pandaHprInterval2,
                                  name="pandaPace")
        self.pandaPace.loop()

        self.teapot = self.loader.loadModel('models/teapot')

        self.teapot.reparentTo(self.render)
        self.console = Console(self)

        self.filters = CommonFilters(self.win, self.cam)
        self.filters.setCartoonInk()
        self.filters.setAmbientOcclusion()
        self.filters.setBloom()
示例#16
0
    def __init__(self):
        base.disableMouse()
        # Turns off the default mouse-camera controls in Panda3D.

        base.setBackgroundColor(0, 0, 0)
        # Sets the background to black.

        self.inputManager = InputManager()
        # Creates an InputManager to handle all of the user input in the game.

        #taskMgr.doMethodLater(10, self.debugTask, "Debug Task")
        # Tells the debugTask to run once every ten seconds. The debug task is a good
        # place to put various data print outs about the game to help with debugging.

        self.filters = CommonFilters(base.win, base.cam)
        filterok = self.filters.setBloom(blend=(0, 0, 0, 1),
                                         desat=-0.5,
                                         intensity=3.0,
                                         size=2)
        # Creates a bloom filter that will integrate with the Glow maps applied to objects to create
        # the halos around glowing objects.

        render.setShaderAuto()
        # Turns on Panda3D's automatic shader generation.

        self.menuGraphics = loader.loadModel("../Models/MenuGraphics.egg")
        # Loads the egg that contains all the menu graphics.

        self.fonts = {
            "silver": loader.loadFont("../Fonts/LuconSilver.egg"),
            "blue": loader.loadFont("../Fonts/LuconBlue.egg"),
            "orange": loader.loadFont("../Fonts/LuconOrange.egg")
        }
        # Loads the three custom fonts our game will use.

        preloader = Preloader(self.fonts)

        hud = HUD(self.fonts)
        # Creates the HUD.

        self.race = Race(self.inputManager, hud)
        self.race.createDemoRace()
        # creates an instance of the race class and tells it to
        # start a demo race.

        self.createStartMenu()
        # creates the start menu.

        musicMgr = base.musicManager
        self.music = musicMgr.getSound(
            "../Sound/Loveshadow-Takin_Yo_Time_(The_Wingman_Mix).wav")
        self.music.setLoop(True)
        self.music.setVolume(.5)
        self.music.play()
示例#17
0
文件: engine.py 项目: play3577/a3p
def postProcessingChanged():
    global filters
    if enablePostProcessing:
        if filters == None:
            filters = CommonFilters(base.win, base.cam)
        render.setAttrib(LightRampAttrib.makeHdr1())
        filters.setBloom(intensity=1, size=2)
    else:
        if filters != None:
            filters.delBloom()
    saveConfigFile()
    def _loadFilters(self):
        self.terrain.setShaderInput('waterlevel', self._water_level)

        # load default shaders
        cf = CommonFilters(base.win, base.cam)
        #bloomSize
        cf.setBloom(size='small', desat=0.7, intensity=1.5, mintrigger=0.6, maxtrigger=0.95)
        #hdrtype:
        render.setAttrib(LightRampAttrib.makeHdr1())
        #perpixel:
        render.setShaderAuto()
示例#19
0
    def __init__(self):
        ShowBase.__init__(self)
        self.filters = CommonFilters(self.win, self.cam)
        self.render.setShaderAuto()
        self.initP3D()
        self.audio3d = Audio3DManager.Audio3DManager(self.sfxManagerList[0], self.cam)
        self.audio3d.setDopplerFactor(.7)

        self.splash = Splash(base, self,
            sys.argv[1] if len(sys.argv) > 1 else False
        )
示例#20
0
    def __init__(self):
        ShowBase.__init__(self)

        # Gui
        #gui = GUI(self)

        render.setShaderAuto()
        self.game = Game(self)
        filters = CommonFilters(base.win, base.cam)
        filters.setBloom()
        filters.setCartoonInk()
示例#21
0
    def __init__(self):
        super().__init__(self)
        self.var1 = 0
        self.scene = loader.loadModel("models/world")
        playerTexture = loader.loadTexture("models/starfoxShip.jpg")
        self.player = self.scene.find("player")
        self.player.setTexture(playerTexture)

        base.setBackgroundColor(0.1, 0.1, 0.1, 1)
        enemyTexture = loader.loadTexture("models/enemyShip.jpg")
        self.enemy = self.scene.find("enemy1")
        self.enemy.setTexture(enemyTexture)

        self.basePlane = self.scene.find("basePlane")

        self.scene.reparentTo(self.render)
        self.player.setPos(50, 50, 3)
        self.enemy.setPos(50, 55, 0)

        self.ambient = AmbientLight("ambient")
        self.ambient.color = (0.1, 0.1, 0.1, 1)
        self.ambientPath = self.render.attachNewNode(self.ambient)
        render.setLight(self.ambientPath)

        self.dirLight = DirectionalLight("dir light")
        self.dirLight.color = (1, 1, 1, 1)
        self.dirLightPath = self.render.attachNewNode(self.dirLight)
        self.dirLightPath.setHpr(0, -90, 0)
        self.dirLight.setShadowCaster(True, 512, 512)
        render.setLight(self.dirLightPath)

        self.pointLight = PointLight("point light")
        self.pointLight.color = (1, 1, 1, 1)
        self.pointLightPath = self.render.attachNewNode(self.pointLight)
        self.pointLightPath.setPos(50, 52.5, 4)
        self.pointLight.attenuation = (.5, 0, 0)
        self.pointLight.setShadowCaster(True, 1024, 1024)
        self.render.setLight(self.pointLightPath)

        self.fog = Fog("fog")
        self.fog.setColor(0.1, 0.1, 0.1)
        self.fog.setExpDensity(.3)
        self.fog.setLinearRange(150, 300)
        self.fog.setLinearFallback(45, 160, 320)
        self.render.setFog(self.fog)

        self.render.setShaderAuto()
        self.render.setAntialias(AntialiasAttrib.MAuto)

        filters = CommonFilters(base.win, base.cam)
        filters.setBloom(size="large")
        filters.setAmbientOcclusion(strength=0.6, falloff=0.0005, radius=0.1)
        filters.setCartoonInk(separation=2, color=(0, 0, 0, 1))
        self.taskMgr.add(self.update, "update")
示例#22
0
 def __init__(self, mouse):
     ShowBase.__init__(self)
     self.mouse = mouse
     self.joy_x = None
     self.joy_y = None
     props = WindowProperties()
     props.setMouseMode(WindowProperties.MRelative)  # keep mouse in screen
     self.disableMouse()
     self.win.requestProperties(props)
     self.setBackgroundColor(0, 0, 0)
     # Make missiles glow
     self.filters = CommonFilters(self.win, self.cam)
     self.filters.setBloom(blend=(0, 0, 0, 1), desat=-0.5, intensity=3.0, size="large")
     self.screen_width = self.win.getXSize()
     self.screen_height = self.win.getYSize()
     self.center_x = self.screen_width/2
     self.center_y = self.screen_height/2
     # self.win.movePointer(0, self.center_x, self.center_y)
     self.enableParticles()
     self.cTrav = CollisionTraverser()
     # self.cTrav.setRespectPrevTransform(True)
     self.pusher = PhysicsCollisionHandler()
     self.pusher.addInPattern('%fn-into-%in')
     self.target = None
     self.maxvel = 50
     self.roll_time = 0
     self.fuel = 1000
     self.ship()
     self.sounds()
     self.hud()
     self.part = Spacedust(self)
     self.events()
     self.camLens.setFov(70)
     self.camLens.setNear(1)
     self.camLens.setFar(500)
     self.get_key = {
         "ACCEL": False,
         "DECEL": False,
         "FORWARD_THRUST": False,
         "REVERSE_THRUST": False,
         "ROLL_LEFT": False,
         "ROLL_RIGHT": False,
         "ROLL_LEFT_BEG": False,
         "ROLL_RIGHT_BEG": False,
         "FIRE": False,
         "FIRING": False,
         "LOCK": False,
         "LOCKING": False,
     }
     self.AIworld = AIWorld(self.render)
     self.taskMgr.add(self.update, "task-update")
     self.taskMgr.doMethodLater(1, self.fuel_usage, "task-fuel-usage")
     self.taskMgr.add(self.AI_update, "AI-update")
     self.gen_enemy()
示例#23
0
 def initShader(self):
     tempnode = NodePath(PandaNode("temp node"))
     tempnode.setAttrib(LightRampAttrib.makeSingleThreshold(0.5, 0.9))
     tempnode.setShaderAuto()
     base.cam.node().setInitialState(tempnode.getState())
     self.separation = 1  # Pixels
     self.filters = CommonFilters(base.win, base.cam)
     filterok = self.filters.setBloom()
     if (filterok == False):
         addTitle(
             "Toon Shader: Video card not powerful enough to do image postprocessing"
         )
         sys.exit
示例#24
0
    def __init__(self):
        base.enableParticles()  # noqa: F821
        render.setShaderAuto()  # noqa: F821

        self._explosion_lights = self._set_explosion_lights()

        self._transition = Transitions(loader)  # noqa: F821
        self._transition.setFadeColor(0, 0, 0)

        self.stench_effect = Stench()
        self.love_fog = LoveFog()

        filters = CommonFilters(base.win, base.cam)  # noqa: F821
        filters.setBloom(size="large", mintrigger=0.8, intensity=2.1)
示例#25
0
    def __init__(self, parent):
        self._parent = parent
        DirectFrame.__init__(self,
                             parent=self._parent,
                             relief=None,
                             pos=(0.0, 0.0, 0.0),
                             scale=(1.0, 1.0, 1.0))
        self.filter = CommonFilters(base.win,
                                    base.cam)  # Only affects primary window

        # Ambient Occlusion
        self.samples = 0
        self.radius = 0.0
        self.amount = 0.0
        self.strength = 0.0

        # Blur/Sharpen
        self.blur = 1.0  # this is normal value, 0.0 blurs it

        # Cartoon Ink
        self.cartoonSep = 0.0
        self.cartoonR = 0.0
        self.cartoonB = 0.0
        self.cartoonG = 0.0

        # todo: Add bloom

        # Boolean Filters
        self.HDREnabled = False
        self.invertedEnabled = False
        self.sRGBEnabled = False
        self.halfPixelShiftEnabled = False
        self.viewGlowEnabled = False

        # Other Filters
        self.exposure = 0.0

        self.SAMPLES_MAX = 128
        self.RAD_MAX = 1.0
        self.AMT_MAX = 64.0
        self.STR_MAX = 0.01
        self.INCREMENT = 1
        self.numSamples = None
        self.numRadius = None

        self.circleModel = loader.loadModel(
            'phase_3/models/gui/tt_m_gui_mat_nameShop')
        self.barTexture = loader.loadTexture('phase_3/maps/slider.png')
        self.loadGUI()
示例#26
0
    def __init__(self):
        super().__init__()
        self.set_background_color(0, 0, 0, 1)
        self.cam.setPos(0, -12, 0)

        self.trees = NodePath("trees")

        self.tree1 = self.loader.loadModel('my-models/christmas_tree')
        self.tree1.setPos(0, 0, -2.5)
        self.tree1.reparentTo(self.trees)

        self.tree2 = self.loader.loadModel('my-models/christmas_tree')
        self.tree2.setPos(4, 5, -2.5)
        self.tree2.reparentTo(self.trees)

        self.tree3 = self.loader.loadModel('my-models/christmas_tree')
        self.tree3.setPos(-4, 7, -2.5)
        self.tree3.reparentTo(self.trees)

        self.trees.reparentTo(self.render)

        self.floor = self.loader.loadModel('my-models/floor')
        self.floor.setPos(0, 0, -2.5)
        self.floor.reparentTo(self.render)

        self.light_model = self.loader.loadModel('models/misc/sphere')
        self.light_model.setScale(0.2, 0.2, 0.2)
        # self.light_model.setPos(4, -4, 0)
        self.light_model.reparentTo(self.render)

        plight = PointLight("plight")
        plight.setShadowCaster(True, 1024, 1024)
        self.render.setShaderAuto()
        plnp = self.light_model.attachNewNode(plight)
        # plight.setAttenuation((1, 0, 0)) # constant, linear, and quadratic.
        self.trees.setLight(plnp)

        alight = AmbientLight("alight")
        alight.setColor((0.04, 0.04, 0.04, 1))
        alnp = self.render.attachNewNode(alight)
        self.trees.setLight(alnp)

        self.floor.setLight(plnp)
        self.floor.setLight(alnp)

        filters = CommonFilters(self.win, self.cam)
        filters.setBloom(size="large")

        self.taskMgr.add(self.move_light, "move-light")
示例#27
0
def runConfiguration():

    #Grundeinstellungen
    base.setFrameRateMeter(True)
    base.setBackgroundColor(0, 0, 0)

    #Bloom Filter
    CFilters = CommonFilters(base.win, base.cam)
    filterok = CFilters.setBloom(blend=(0, 0, 0, 1),
                                 desat=-0.1,
                                 mintrigger=0.0,
                                 intensity=6.0,
                                 size="small")

    if filterok == 0:
        print "Deine Grafikkarte unterstuetzt kein Bloom Filter: Shader Error"
    def __init__(self, parent):
        base.win.setClearColor(VBase4(0, 0, 0, 0))
        self.parent = parent
        # GAMETYPE
        self.type = 'DEBUG'  # 'FPS' or 'DEBUG'
        self.type = 'FPS'  # 'FPS' or 'DEBUG'

        # Creating level geometry
        self.level = Level(self, LEVELS[0])
        # Instance the player controller
        self.player = Player(self, self.level.start_pos)
        if self.type == 'FPS':
            base.disableMouse()
            base.camera.reparentTo(self.player.node)
            base.camLens.setFov(100)
            # Load aim icon
            cm = CardMaker('aim_node')
            cm.setFrame(-0.02, 0.02, -0.02, 0.02)
            self.aim_node = aspect2d.attachNewNode(cm.generate())
            self.aim_node.setTexture(loader.loadTexture('models/aim.png'))
            self.aim_node.setTransparency(TransparencyAttrib.MAlpha)
        elif self.type == 'DEBUG':
            base.disableMouse()
            self.camera = CameraManager(self)

        # Create ambient light
        self.alight = AmbientLight("alight")
        self.alnp = render.attachNewNode(self.alight)
        render.setLight(self.alnp)

        # Instance collision manager
        self.collision_manager = CollisionManager(self)
        self.collision_manager.createLevelCollision(self.level)

        self.zombies = []
        self.spawnEnemy()

        # Instance class for debug output
        #self.debug = DebugOptions(self)

        # Setup default options (which have been previously set in DebugOptions)
        # If you uncomment DebugOptions, comment out two lines below
        self.alight.setColor(VBase4(0.03, 0.03, 0.03, 1.0))
        render.setShaderAuto()

        # Instance common filters class (blur, AO, bloom)
        self.filters = CommonFilters(base.win, base.cam)
示例#29
0
    def setShaderOn(self):
        '''
        activates all shaders
        '''
        # activate the shaders
        self.filters = []

        for i in xrange(len(self.cameras)):
            if self.cameras[i] != None:
                self.filters.append(CommonFilters(base.win, self.cameras[i]))
                self.filters[i].setBloom(blend=(0, 0, 0, 1),
                                         desat=-0.8,
                                         intensity=4.0,
                                         size="big")
            else:
                self.filters.append(None)
        self.shaders_on = True
示例#30
0
 def toggle_cartoon(self):
     ''' Use Cartoon ink filter '''
     self.cartoon = not self.cartoon
     if self.cartoon:
         tempnode = NodePath(PandaNode("temp node"))
         tempnode.setAttrib(LightRampAttrib.makeSingleThreshold(0.4, 0.6))
         tempnode.setShaderAuto()
         base.cam.node().setInitialState(tempnode.getState())
         self.separation = 1.3 # Pixels
         self.filters = CommonFilters(base.win, base.cam)
         self.filters.setCartoonInk(separation=self.separation)
         # Currently using MAuto antialias, uncomment to use different
         #render.setAntialias(AntialiasAttrib.MBetter)
         #self.filters.finalQuad.setAntialias(AntialiasAttrib.MBetter)
     else:
         self.filters.cleanup()
         base.cam.node().setInitialState(self.alight.getState())