【发布时间】:2014-07-02 13:16:46
【问题描述】:
有一个 stl 模型(三角形网格)。我想使用可调节的矩形进行选择。如下图。
但我不想选择另一边的三角形。也就是说只能选择矩形中可见的三角形。
AFAIK,有一个 method 可以做到这一点。首先使用特定且独特的颜色渲染每个三角形。然后,检索所选矩形中像素的颜色,并将这些颜色转换回原始标识符。选择了拥有 id 的三角形。我认为这种方法可行但效率低。
那么还有其他更好的方法来做这个选择吗?更优雅、更高效?
【问题讨论】:
-
如果你的三角形有法线向量,你可以考虑一下。
-
我在我的应用程序中使用了基于颜色的拾取,它工作得很好。如果你想要一个不同的解决方案,那可能会涉及大量的碰撞测试。它肯定会复杂得多,我怀疑它会更有效。
-
也许是光线投射... 您将需要创建相当多的光线(与矩形中的像素一样多的光线)并为对象中的每个三角形执行光线三角形命中测试。您可以使用沿命中光线的距离来确定可见的三角形。
-
@KillConsole 好主意。
-
@vesan 嗨,你能告诉我你的场景是什么吗?比如你的应用程序中的三角形数量。
标签: opengl graphics 3d glsl direct3d