From aeabcecc602cc852c0171bf7af930f8336e78ee9 Mon Sep 17 00:00:00 2001 From: David Rose Date: Mon, 31 Oct 2005 20:07:47 +0000 Subject: [PATCH] want-render2dp --- direct/src/showbase/ShowBase.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index b88b43e997..e40ebb8518 100644 --- a/direct/src/showbase/ShowBase.py +++ b/direct/src/showbase/ShowBase.py @@ -64,6 +64,7 @@ class ShowBase(DirectObject.DirectObject): self.sfxActive = self.config.GetBool('audio-sfx-active', 1) self.musicActive = self.config.GetBool('audio-music-active', 1) self.wantFog = self.config.GetBool('want-fog', 1) + self.wantRender2dp = self.config.GetBool('want-render2dp', 0) self.screenshotExtension = self.config.GetString('screenshot-extension', 'jpg') self.musicManager = None @@ -139,9 +140,12 @@ class ShowBase(DirectObject.DirectObject): self.setupRender() self.setupRender2d() - self.setupRender2dp() self.setupDataGraph() + if self.wantRender2dp: + self.setupRender2dp() + + # This is a placeholder for a CollisionTraverser. If someone # stores a CollisionTraverser pointer here, we'll traverse it # in the collisionLoop task. @@ -210,9 +214,7 @@ class ShowBase(DirectObject.DirectObject): __builtins__["base"] = self __builtins__["render2d"] = self.render2d - __builtins__["render2dp"] = self.render2dp __builtins__["aspect2d"] = self.aspect2d - __builtins__["aspect2dp"] = self.aspect2dp __builtins__["render"] = self.render __builtins__["hidden"] = self.hidden __builtins__["camera"] = self.camera @@ -237,6 +239,10 @@ class ShowBase(DirectObject.DirectObject): __builtins__["deltaProfiler"] = DeltaProfiler.DeltaProfiler("ShowBase") __builtins__["onScreenDebug"] = OnScreenDebug.OnScreenDebug() + if self.wantRender2dp: + __builtins__["render2dp"] = self.render2dp + __builtins__["aspect2dp"] = self.aspect2dp + ShowBase.notify.info('__dev__ == %s' % __dev__) # Now hang a hook on the window-event from Panda. This allows @@ -674,12 +680,6 @@ class ShowBase(DirectObject.DirectObject): # many 2-d objects will be drawn over each other without # regard to depth position. - # We used to avoid clearing the depth buffer before drawing - # render2d, but nowadays we clear it anyway, since we - # occasionally want to put 3-d geometry under render2d, and - # it's simplest (and seems to be easier on graphics drivers) - # if the 2-d scene has been cleared first. - dt = DepthTestAttrib.make(DepthTestAttrib.MNone) dw = DepthWriteAttrib.make(DepthWriteAttrib.MOff) self.render2dp.setDepthTest(0) @@ -825,9 +825,8 @@ class ShowBase(DirectObject.DirectObject): dr = win.makeDisplayRegion(*displayRegion) dr.setSort(sort) - # Enable clearing of the depth buffer on this new display - # region (see the comment in setupRender2d, above). - dr.setClearDepthActive(1) + # Unlike render2d, we don't clear the depth buffer for + # render2dp. Caveat emptor. left, right, bottom, top = coords