def setHDR(self, toggle): self.hdrToggle = toggle if toggle: # Don't clamp lighting calculations with hdr. render.setAttrib(LightRampAttrib.makeIdentity()) else: render.setAttrib(LightRampAttrib.makeDefault())
def setHDR(self, toggle): self.hdrToggle = toggle #if not hasattr(self, 'hdr'): # return if toggle: # Don't clamp lighting calculations with hdr. render.setAttrib(LightRampAttrib.makeIdentity()) #self.hdr.enable() else: render.setAttrib(LightRampAttrib.makeDefault())
def __init__(self): DirectObject.__init__(self) self.filename = None self.unsaved = False self.idGenerator = IDGenerator() self.world = None self.isOpen = False self.gsg = None self.page = None self.shaderGenerator = None self.numlights = 0 # Each document has its own message bus, task manager, and event manager. self.taskMgr = TaskManager() self.taskMgr.mgr = AsyncTaskManager("documentTaskMgr") self.messenger = Messenger(self.taskMgr) self.eventMgr = EventManager(messenger=self.messenger, taskMgr=self.taskMgr) self.messenger.setEventMgr(self.eventMgr) self.render = NodePath("docRender") self.render.setAttrib(LightRampAttrib.makeIdentity()) #self.render.setShaderAuto() self.viewportMgr = ViewportManager(self) self.toolMgr = ToolManager(self) self.selectionMgr = SelectionManager(self) self.actionMgr = ActionManager(self) # Create the page that the document is viewed in. self.page = DocumentWindow(self) #self.createShaderGenerator() self.toolMgr.addTools() self.eventMgr.restart()
def __init__(self, *args, **kwargs): ShowBase.__init__(self, *args, **kwargs) from panda3d.core import RenderAttribRegistry from panda3d.core import ShaderAttrib, TransparencyAttrib from panda3d.bsp import BSPMaterialAttrib attribRegistry = RenderAttribRegistry.getGlobalPtr() attribRegistry.setSlotSort(BSPMaterialAttrib.getClassSlot(), 0) attribRegistry.setSlotSort(ShaderAttrib.getClassSlot(), 1) attribRegistry.setSlotSort(TransparencyAttrib.getClassSlot(), 2) gsg = self.win.getGsg() # Let's print out the Graphics information. self.notify.info( 'Graphics Information:\n\tVendor: {0}\n\tRenderer: {1}\n' '\tVersion: {2}\n\tSupports Cube Maps: {3}\n' '\tSupports 3D Textures: {4}\n\tSupports Compute Shaders: {5}'. format(gsg.getDriverVendor(), gsg.getDriverRenderer(), gsg.getDriverVersion(), str(gsg.getSupportsCubeMap()), str(gsg.getSupports3dTexture()), str(gsg.getSupportsComputeShaders()))) # Enable shader generation on all of the main scenes if gsg.getSupportsBasicShaders() and gsg.getSupportsGlsl(): self.render.setShaderAuto() self.render2d.setShaderAuto() self.render2dp.setShaderAuto() self.aspect2d.setShaderAuto() self.pixel2d.setShaderAuto() else: # I don't know how this could be possible self.notify.error("GLSL shaders unsupported by graphics driver.") return self.camNode.setCameraMask(CAMERA_MAIN) # Any ComputeNodes should be parented to this node, not render. # We isolate ComputeNodes to avoid traversing the same ComputeNodes # when doing multi-pass rendering. self.computeRoot = NodePath('computeRoot') self.computeCam = self.makeCamera(self.win) self.computeCam.node().setCameraMask(CAMERA_COMPUTE) self.computeCam.node().setCullBounds(OmniBoundingVolume()) self.computeCam.node().setFinal(True) self.computeCam.reparentTo(self.computeRoot) self.bspLoader = None self.bspLevel = None self.brushCollisionMaterialData = {} self.createBSPLoader() self.audio3d = None self.create3DAudio() # Initialized in createShaderGenerator() self.shaderGenerator = None # Initialized in createPostProcess() self.filters = None self.render.show(CAMERA_SHADOW) self.render.setAttrib(LightRampAttrib.makeIdentity())
def __init__(self): ShowBase.__init__(self) self.disableMouse() self.camLens.setNear(0.01) self.camLens.setFar(100) self.camLens.setFov(config.camera_angle) self.setBackgroundColor(Vec4(0, 0, 0, 0)) self.setFrameRateMeter(True) self.level = load_level(config.start_level) self.dir = Direction() self.pos = Vector([0, 0]) level_node = render_level(self.level) level_node.reparentTo(self.render) self.accept("escape", exit) self.accept("arrow_up", self.forward) self.accept("arrow_down", self.reverse) self.accept("arrow_down", self.backwards) self.accept("arrow_left", self.turn_left) self.accept("arrow_right", self.turn_right) self.accept("1", self.set_camera_in) self.accept("2", self.set_camera_out) self.accept("3", self.spin_camera_left) self.accept("4", self.spin_camera_right) self.accept("s", self.toggle_smoke) title = OnscreenText(text="Bard's Tale I", style=1, fg=(1,1,1,1), pos=(0.7,0.92), scale = .07) slight = PointLight('slight') slight.setColor(Vec4(1, 1, 1, 1)) slnp = render.attachNewNode(slight) #slight.setAttenuation((1, 0, 0.02)) render.setLight(slnp) self.slight = slight self.light = slnp alight = AmbientLight('alight') amb = 0.05 alight.setColor((amb, amb, amb, 1)) alnp = render.attachNewNode(alight) self.alight = alight render.setLight(alnp) text = TextNode("foo") text.setText("") text.setShadow(0.2,0.2) text.setShadowColor(0, 0, 0, 1) tn = NodePath(text) tn.setScale(0.1) tn.reparentTo(aspect2d) tn.setPos(-1, -1, 0) self.text = text print self.eventMgr from panda3d.core import AntialiasAttrib self.render.setAntialias(AntialiasAttrib.MMultisample) self.follow = True self.set_camera() render.setAttrib(LightRampAttrib.makeIdentity()) render.setShaderAuto()