2

我正在尝试用另一个 3D 场景掩盖一个 3D 场景。我设法让它与常规的 THREE.Mesh 对象一起工作,如下所示:

面具工作

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

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

// please check source on jsfiddle

--

但是,如果我像Marching Cubes示例中那样用 blob 替换一堆球体,它就会停止工作。问题如下图:

掩码错误

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

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

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

4

1 回答 1

0

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

于 2018-02-15T10:12:06.337 回答