4

立方体の 3D モデルを作成する必要があります。立方体の 1 つの面の中心に円形の穴が開けられ、立方体を完全に貫通して反対側に向かいます。面と穴の頂点を生成できます。

4 つの面 (穴に触れていない) は、1 つの三角形ストリップとしてモデル化できます。穴の内側は、1 つの三角形ストリップとしてモデル化することもできます。

穴のある面のインデックス バッファを生成するにはどうすればよいですか? これを行うための標準アルゴリズムはありますか?

私は Direct3D を使用していますが、他の場所からのアイデアを歓迎します。

4

6 に答える 6

3

アルファブレンディングは問題外ですか?そうでない場合は、中央が透明なテクスチャを使用して、側面に穴を開けます。前面から背面への描画や覆われた面を無視することを利用できないため、ポリゴンのレンダリングをさらに行う必要がありますが、小さな三角形をたくさん持つよりも高速になる可能性があります。

于 2008-12-12T05:44:22.113 に答える
3

最新のハードウェアは通常、凹面ポリゴンを正しくレンダリングできません。
具体的には、通常、穴のあるポリゴンを定義する方法さえありません。
どうにかして、穴の周りの平面の三角形分割を見つける必要があります。おそらく最良の方法は、穴の頂点から長方形の面の最も近い頂点までの三角形を作成することです。これにより、おそらくいくつかの非常に薄い三角形が作成されます。それが問題でなければ、完了です。そうであれば、見栄えの良い三角形を作成するために、メッシュフェアリング/最適化アルゴリズムが必要になります。

于 2008-12-12T05:34:09.777 に答える
2

正方形の四隅から4つの三角形のファンがやってくると想像しています。

于 2008-12-12T17:15:34.220 に答える
1

ちょっとした考え -

(ゲームで何度も行われているように)ごまかすのが好きな場合は、いつでも通常の立方体を作成できますが、必要な 2 つの面に穴 (アルファ = 0) のあるテクスチャを用意してから、シェーダーでそれをクリップすることができます。 、またはブレンドします (この場合、Z ソートでレンダリングする必要があります)。内向きの内筒をキャップなしで構築することにより、内側の穴を取得します。

もちろん、これはジオメトリが重要でない場合にのみ機能します。

于 2009-02-15T07:14:58.970 に答える