Three.js使用ImmediateRenderObject

时间:2015-07-02 18:47:00

标签: three.js shader marching-cubes

我正试图用另一个3D场景掩盖3D场景。我设法使用常规的THREE.Mesh对象,如下所示:

Mask working

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

有效。这是一个小提琴:http://jsfiddle.net/at4rumn6/3/

// please check source on jsfiddle

-

但是,如果我按照Marching Cubes示例中的blob替换一堆球体,它就会停止工作。问题如下所示:

Mask error

似乎渲染器中没有清除某些东西。它可能与THREE.ImmediateRenderObject有关,但我不明白它在做什么。这似乎是一个非常具体的案例,我可能在库中发现了一个限制。或许我只是做错了什么。

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

有没有办法清除缓冲区,让我的面具在没有其他场景的“污垢”的情况下工作?

1 个答案:

答案 0 :(得分:0)

讨论在GitHub问题中继续进行,并且已经修复:https://github.com/mrdoob/three.js/issues/6783