2016-12-06 108 views

回答

0

剪切发生在GPU上。正常的光线投射发生在CPU上。

您将不得不在应用程序级别的光线投射逻辑中实施剪裁。

另一种方法是使用GPU拾取。你将不得不花费一些时间来理解它是如何工作的,以及它是否适合你的用例。

Here是GPU挑选的three.js示例。

three.js所r.82

+0

谢谢。我使用平面到点距离检查在应用层实现了它。 – Patrick

0
if (renderer.clippingPlanes.length > 0) { 
    objs = objs.filter(function(elem) { 
    return renderer.clippingPlanes.every(function(elem2) { 
     return elem2.distanceToPoint(elem.point) > 0; 
    }); 
    }); 
} 
+1

尽管这段代码可能解决了这个问题,但应该总是给它添加一个解释。 – BDL