如何切割几何体?

时间:2013-02-10 20:35:57

标签: opengl

假设我有这个几何: glutSolidTeapot(1);

我想将它切成8个立方体,例如横跨3个平面(xy),(yz),(xz),以制作3D拼图。

如何剪裁几何体?

1 个答案:

答案 0 :(得分:4)

有两种方法可以做到这一点。我假设您想要将几何体切割成立方体,但其他形状可以类似地完成。

1。切三角网

在这里,您只需遍历所有三角形并检查三角形属于哪个立方体。如果三角形与多个立方体相交,则需要将其拆分为多个三角形。你需要对线平面交点进行一些数学计算才能得到正确的分割,但这并不是很难。

2。使用opengl剪辑平面

您还可以多次渲染几何体,但仅剪切要在屏幕上显示的部分。这可以使用glClipPlane完成(参见http://www.opengl.org/sdk/docs/man2/xhtml/glClipPlane.xml)。对于每个立方体,您需要6个剪裁平面。这个方法比第一个慢,因为gpu需要考虑每个立方体的每个三角形。