我正在尝试用另一个 3D 场景掩盖一个 3D 场景。我设法让它与常规的 THREE.Mesh 对象一起工作,如下所示:
主场景有一堆低多边形球体。面具场景有一个红色立方体。两个场景都作为纹理传递给自定义着色器,该着色器检查蒙版上的红色像素并绘制主像素。
有用。这是一个小提琴:http: //jsfiddle.net/at4rumn6/3/
// please check source on jsfiddle
--
但是,如果我像Marching Cubes示例中那样用 blob 替换一堆球体,它就会停止工作。问题如下图:
渲染器中似乎没有清除某些内容。它可能与THREE.ImmediateRenderObject有关,但我不明白它在做什么。这似乎是一个非常具体的案例,我可能在库中发现了一个限制。或者,也许我只是做错了什么。
这是另一个显示错误的小提琴:http: //jsfiddle.net/Lwm93rxr/2/
有没有办法清除缓冲区并让我的面具在没有来自其他场景的任何“污垢”的情况下工作?