mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
force depth buffer clear for render2d
This commit is contained in:
parent
e37b967a0b
commit
ac751a2715
@ -419,20 +419,25 @@ class ShowBase(DirectObject.DirectObject):
|
|||||||
# Set up some overrides to turn off certain properties which
|
# Set up some overrides to turn off certain properties which
|
||||||
# we probably won't need for 2-d objects.
|
# we probably won't need for 2-d objects.
|
||||||
|
|
||||||
# It's particularly important to turn off the depth test,
|
# It's probably important to turn off the depth test, since
|
||||||
# since we'll be keeping the same depth buffer already filled
|
# many 2-d objects will be drawn over each other without
|
||||||
# by the previously-drawn 3-d scene--we don't want to pay for
|
# regard to depth position.
|
||||||
# a clear operation, but we also don't want to collide with
|
|
||||||
# that depth buffer.
|
# 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)
|
dt = DepthTestAttrib.make(DepthTestAttrib.MNone)
|
||||||
dw = DepthWriteAttrib.make(DepthWriteAttrib.MOff)
|
dw = DepthWriteAttrib.make(DepthWriteAttrib.MOff)
|
||||||
#lt = LightTransition.allOff()
|
#lt = LightTransition.allOff()
|
||||||
self.render2d.node().setAttrib(dt, 1)
|
self.render2d.node().setAttrib(dt)
|
||||||
self.render2d.node().setAttrib(dw, 1)
|
self.render2d.node().setAttrib(dw)
|
||||||
#self.render2d.node().setAttrib(lt, 1)
|
#self.render2d.node().setAttrib(lt, 1)
|
||||||
|
|
||||||
self.render2d.setMaterialOff(1)
|
self.render2d.setMaterialOff(1)
|
||||||
self.render2d.setTwoSided(1, 1)
|
self.render2d.setTwoSided(1)
|
||||||
|
|
||||||
# The normal 2-d layer has an aspect ratio that matches the
|
# The normal 2-d layer has an aspect ratio that matches the
|
||||||
# window, but its coordinate system is square. This means
|
# window, but its coordinate system is square. This means
|
||||||
@ -467,6 +472,10 @@ class ShowBase(DirectObject.DirectObject):
|
|||||||
# And make a display region to cover the whole layer.
|
# And make a display region to cover the whole layer.
|
||||||
dr = layer.makeDisplayRegion()
|
dr = layer.makeDisplayRegion()
|
||||||
|
|
||||||
|
# Enable clearing of the depth buffer on this new display
|
||||||
|
# region (see the comment above).
|
||||||
|
dr.setClearDepthActive(1)
|
||||||
|
|
||||||
# Now make a new Camera node.
|
# Now make a new Camera node.
|
||||||
cam2dNode = Camera('cam2d')
|
cam2dNode = Camera('cam2d')
|
||||||
lens = OrthographicLens()
|
lens = OrthographicLens()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user