2015-07-02 99 views
2

我想用另一个3D场景来遮罩3D场景。我设法得到它与普通THREE.Mesh对象时,如下图所示:Three.js使用ImmediateRenderObject后渲染没有被清除

Mask working

主场景有一堆小聚球。面具场景有一个红色的立方体。这两个场景都作为纹理传递给自定义着色器,该自定义着色器检查蒙版上的红色像素并绘制主要像素。

它的工作原理。这里是一个小提琴:http://jsfiddle.net/at4rumn6/3/

// please check source on jsfiddle 

-

但是,如果我更换球的一串由斑点像Marching Cubes例子,它停止工作。问题如下:

Mask error

好像自己是不是在渲染得到清除。这可能与THREE.ImmediateRenderObject有关,但我不明白它在做什么。这看起来像是一个非常具体的案例,我可能在图书馆里发现了一个限制。或者,也许我只是做错了什么。

这里是另一个小提琴显示错误:http://jsfiddle.net/Lwm93rxr/2/

有没有办法清除缓冲区,并得到我的面具,不受其他任何场景“灰尘”的工作?

+0

THREE.WebGLRenderer 71时,Chrome 43,Mac OS X中的优胜美地 – imbrizi

+0

开业GitHub上https://github.com/mrdoob/three问题。 JS /问题/ 6783 – imbrizi

回答