假设我有这个几何:
glutSolidTeapot(1);
我想将它切成8个立方体,例如横跨3个平面(xy),(yz),(xz),以制作3D拼图。
如何剪裁几何体?
答案 0 :(得分:4)
有两种方法可以做到这一点。我假设您想要将几何体切割成立方体,但其他形状可以类似地完成。
在这里,您只需遍历所有三角形并检查三角形属于哪个立方体。如果三角形与多个立方体相交,则需要将其拆分为多个三角形。你需要对线平面交点进行一些数学计算才能得到正确的分割,但这并不是很难。
您还可以多次渲染几何体,但仅剪切要在屏幕上显示的部分。这可以使用glClipPlane完成(参见http://www.opengl.org/sdk/docs/man2/xhtml/glClipPlane.xml)。对于每个立方体,您需要6个剪裁平面。这个方法比第一个慢,因为gpu需要考虑每个立方体的每个三角形。