0

このジオメトリがあるとしましょう: glutSolidTeapot(1);

3D パズルを作成するために、たとえば 3 つの平面 (xy)、(yz)、(xz) で 8 つの立方体にスライスしたいと考えています。

ジオメトリをクリップするにはどうすればよいですか?

4

1 に答える 1

4

これには 2 つの方法があります。ジオメトリを立方体にスライスしたいと仮定しますが、他の形状も同様に行うことができます。

1.三角形メッシュをスライスします

ここでは、すべての三角形をループして、三角形がどの立方体に属しているかを確認します。三角形が複数の立方体と交差する場合は、複数の三角形に分割する必要があります。分割を正しく行うには、線と平面の交差を計算する必要がありますが、それほど難しくありません。

2. OpenGL クリップ プレーンを使用する

ジオメトリを複数回レンダリングすることもできますが、画面に表示したい部分だけを切り取ってください。これは、glClipPlane を使用して行うことができます ( http://www.opengl.org/sdk/docs/man2/xhtml/glClipPlane.xmlを参照)。立方体ごとに、6 つのクリップ面が必要です。GPU はすべての立方体の各三角形を考慮する必要があるため、この方法は最初の方法よりも遅くなります。

于 2013-02-10T21:00:00.733 に答える