Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 我可以阻止Stage3D写入Z缓冲区吗?_Actionscript 3_Flash_Stage3d - Fatal编程技术网

Actionscript 3 我可以阻止Stage3D写入Z缓冲区吗?

Actionscript 3 我可以阻止Stage3D写入Z缓冲区吗?,actionscript-3,flash,stage3d,Actionscript 3,Flash,Stage3d,我希望渲染隐藏的对象,并实现与Stage3D中链接中显示的效果类似的效果 理论上我已经知道怎么做了。我必须画两次对象: 使用正常设置和 一次使用不同的深度排序模式,其中仅显示渲染几何体后面的像素。此外,为了防止以后出现奇怪的效果,这些像素不能渲染到深度缓冲区中 我可以使用context3dcomaremode.GREATER在第3d阶段设置正确的深度排序模式。 是否也可以将Stage3D渲染像素放入后缓冲区,而不是z缓冲区 如果我无法阻止Stage3D渲染到深度缓冲区,效果将如下所示: 是

我希望渲染隐藏的对象,并实现与Stage3D中链接中显示的效果类似的效果

理论上我已经知道怎么做了。我必须画两次对象:

  • 使用正常设置和
  • 一次使用不同的深度排序模式,其中仅显示渲染几何体后面的像素。此外,为了防止以后出现奇怪的效果,这些像素不能渲染到深度缓冲区中
我可以使用
context3dcomaremode.GREATER
在第3d阶段设置正确的深度排序模式。 是否也可以将Stage3D渲染像素放入后缓冲区,而不是z缓冲区

如果我无法阻止Stage3D渲染到深度缓冲区,效果将如下所示:


是的,您可以关闭深度和模具缓冲区。检查context3d.configureBackBuffer方法。

如果有人遇到此问题,有两件事您应该注意:

1) 作为Volgogradetzzz,请使用
Context3D.configureBackBuffer(…)

2) 如果需要在不同时刻打开或关闭深度像素写入,可以使用此函数中的set depthMask参数:

public function setDepthTest(depthMask:Boolean, passCompareMode:String):void
在这个名称的函数中发现这个特性有点奇怪,因为深度写屏蔽会影响结果,而不是测试本身