テッセレーション シェーダーを使用して、穴のあるクワッドを三角測量することはできますか? 例えば、
- クワッドがあると想像してください。
- 次に、クワッドの中心に穴を開けたいと思います。
- その穴を作るには、さらに多くの頂点が必要です。
そして質問:
- テッセレーションシェーダーを使用してそれを行うことはできますか? もしそうなら、どのように?
- 代わりにジオメトリシェーダーを使用する必要がありますか?
テッセレーション シェーダーを使用して、穴のあるクワッドを三角測量することはできますか? 例えば、
そして質問:
これはテッセレーション シェーダーの典型的なアプリケーションではありません。基本的に、グラフィック カードに渡される粗い 3D モデルがあります。グラフィックス カードは実際にテッセレーション アルゴリズムを実装しており、プリミティブをテッセレーションすることにより、より洗練された 3D モデルを作成します。
2 つのシェーダーを提供する必要があります: テッセレーション コントロール シェーダーと評価シェーダー (OpenGL 用語)
テッセレーション コントロール シェーダーでは、テッセレーション アルゴリズム (内側および外側のテッセレーション ファクターなど) を「パラメーター化」できます。次に、テッセレーション アルゴリズムが適用されます。その後、テッセレーション評価シェーダを使用して、たとえば細かい頂点の頂点属性を補間します。
あなたがやりたいことは、CSG ( http://en.wikipedia.org/wiki/Constructive_solid_geometry ) を思い起こさせます。テッセレーション シェーダーが新しいデータを作成するのは事実ですが、アルゴリズムをパラメーター化するだけでかまいません。テッセレーション アルゴリズムを「実装」することはできません。Ad Geometry シェーダー: 新しいプリミティブを (限られた量で) 放出できるのは事実ですが、問題には当てはまりません。