假设我有这个几何形状:
glutSolidTeapot(1);
我想将其切成 8 个立方体,例如跨越 3 个平面 (xy)、(yz)、(xz),以制作 3D 拼图。
如何裁剪几何图形?
小智 5
有两种方法可以做到这一点。我假设您想将几何体切成立方体,但其他形状也可以类似地完成。
在这里,您只需循环遍历所有三角形并检查三角形属于哪个立方体。如果三角形与多个立方体相交,则需要将其拆分为多个三角形。您需要对线平面相交进行一些数学运算才能正确分割,但这并不难。
您还可以多次渲染几何体,但仅剪辑要在屏幕上显示的部分。这可以使用 glClipPlane 来完成(参见http://www.opengl.org/sdk/docs/man2/xhtml/glClipPlane.xml)。对于每个立方体,您需要 6 个剪裁平面。此方法会比第一种方法慢,因为 GPU 需要考虑每个立方体的每个三角形。
| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |