Actionscript 3 我可以阻止Stage3D写入Z缓冲区吗?
我希望渲染隐藏的对象,并实现与Stage3D中链接中显示的效果类似的效果 理论上我已经知道怎么做了。我必须画两次对象:Actionscript 3 我可以阻止Stage3D写入Z缓冲区吗?,actionscript-3,flash,stage3d,Actionscript 3,Flash,Stage3d,我希望渲染隐藏的对象,并实现与Stage3D中链接中显示的效果类似的效果 理论上我已经知道怎么做了。我必须画两次对象: 使用正常设置和 一次使用不同的深度排序模式,其中仅显示渲染几何体后面的像素。此外,为了防止以后出现奇怪的效果,这些像素不能渲染到深度缓冲区中 我可以使用context3dcomaremode.GREATER在第3d阶段设置正确的深度排序模式。 是否也可以将Stage3D渲染像素放入后缓冲区,而不是z缓冲区 如果我无法阻止Stage3D渲染到深度缓冲区,效果将如下所示: 是
- 使用正常设置和
- 一次使用不同的深度排序模式,其中仅显示渲染几何体后面的像素。此外,为了防止以后出现奇怪的效果,这些像素不能渲染到深度缓冲区中
context3dcomaremode.GREATER
在第3d阶段设置正确的深度排序模式。
是否也可以将Stage3D渲染像素放入后缓冲区,而不是z缓冲区
如果我无法阻止Stage3D渲染到深度缓冲区,效果将如下所示:
是的,您可以关闭深度和模具缓冲区。检查context3d.configureBackBuffer方法。如果有人遇到此问题,有两件事您应该注意: 1) 作为Volgogradetzzz,请使用
Context3D.configureBackBuffer(…)
2) 如果需要在不同时刻打开或关闭深度像素写入,可以使用此函数中的set depthMask参数:
public function setDepthTest(depthMask:Boolean, passCompareMode:String):void
在这个名称的函数中发现这个特性有点奇怪,因为深度写屏蔽会影响结果,而不是测试本身