2012-01-16 10 views
2

三角形の隣接情報を必要とするジオメトリシェーダを実装したいと考えています。私は、隣接する三角形の頂点を含むようにインデックスバッファを展開するアルゴリズムを見つけました。しかし、明らかにこれは共有頂点を持つメッシュに対してのみ機能するので、すべてのモデルでは機能しません。たとえば、法線を正しく取得するには、重複した頂点から単純な立方体を作成する必要があります。三角形の隣接関係と非共有の頂点を計算する

アイデア?

+0

接続されたジオメトリとしてOpenGLにキューブを送信して、特殊色で分離したいテリスをマークして、異なる法線で出力することはできませんでした。私はそれが可能であるかどうかわからないが、そこにそれを投げ込むだけである。 – PeterT

+0

キューブは単なる例です。私は例外を作りたくない、私はすべてのオブジェクトを同じように扱いたい。 – cargath

答えて

1

OpenGL およびジオメトリ処理に同じデータセットを使用する必要はありません。記述したようなアルゴリズムを実行するジオメトリ処理データセットを作成し、これからOpenGLデータセットを作成することができます。

別の方法は、「接続された頂点」のセットを維持し、そのセットに対してアルゴリズムを実行することです。

+0

さて、私はそれについて考えましたが、私はそれがどのように機能するかは分かりません。共有頂点を持つメッシュの三角形隣接関係を計算し、正しい法線を含めるためにいくつかの頂点を複製すると、隣接関係情報は役に立たなくなります。 – cargath