6

テッセレーション シェーダーを使用して、穴のあるクワッドを三角測量することはできますか? 例えば、

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

  1. クワッドがあると想像してください。
  2. 次に、クワッドの中心に穴を開けたいと思います。
  3. その穴を作るには、さらに多くの頂点が必要です。

そして質問:

  • テッセレーションシェーダーを使用してそれを行うことはできますか? もしそうなら、どのように?
  • 代わりにジオメトリシェーダーを使用する必要がありますか?
4

1 に答える 1

2

これはテッセレーション シェーダーの典型的なアプリケーションではありません。基本的に、グラフィック カードに渡される粗い 3D モデルがあります。グラフィックス カードは実際にテッセレーション アルゴリズムを実装しており、プリミティブをテッセレーションすることにより、より洗練された 3D モデルを作成します。

2 つのシェーダーを提供する必要があります: テッセレーション コントロール シェーダーと評価シェーダー (OpenGL 用語)

テッセレーション コントロール シェーダーでは、テッセレーション アルゴリズム (内側および外側のテッセレーション ファクターなど) を「パラメーター化」できます。次に、テッセレーション アルゴリズムが適用されます。その後、テッセレーション評価シェーダを使用して、たとえば細かい頂点の頂点属性を補間します。

あなたがやりたいことは、CSG ( http://en.wikipedia.org/wiki/Constructive_solid_geometry ) を思い起こさせます。テッセレーション シェーダーが新しいデータを作成するのは事実ですが、アルゴリズムをパラメーター化するだけでかまいません。テッセレーション アルゴリズムを「実装」することはできません。Ad Geometry シェーダー: 新しいプリミティブを (限られた量で) 放出できるのは事実ですが、問題には当てはまりません。

于 2013-05-21T21:28:58.540 に答える