0

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

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

如何剪裁几何图形?

4

1 回答 1

4

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

1. 切片你的三角形网格

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

2.使用opengl裁剪平面

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

于 2013-02-10T21:00:00.733 回答