Browse Source

want-render2dp

David Rose 20 years ago
parent
commit
aeabcecc60
1 changed files with 11 additions and 12 deletions
  1. 11 12
      direct/src/showbase/ShowBase.py

+ 11 - 12
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