問題タブ [tessellation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - OpenGL でテッセレーションをより適切に制御できますか?
メッシュをテッセレーションし、レンズの歪みを適用する OpenGL アプリケーションの作業に 1 日を費やしました。目標は、さまざまなレンズで広角ショットをレンダリングできるようにすることです。これまでのところ、シェーダーは歪みを適切に適用していますが、テッセレーションを希望どおりに制御するのに問題がありました。現在、私の Tessellation Control Shader は、1 つの三角形を設定された数の小さな三角形に分割し、Tessellation Evaluation Shader でレンズの歪みを適用しています。
このアプローチで私が抱えている問題は、シーンに非常に大きな三角形がある場合、より多くのワープが必要になる傾向があることです。これは、見栄えの良い結果を得るために、よりテッセレーションする必要があることを意味します。残念ながら、Vertex Shader または Tessellation Control Shader で三角形のサイズ (画面空間内) を計算することはできませんが、Tessellation Control シェーダーでテッセレーション量を定義する必要があります。
私の質問は、OpenGL のプログラム可能なパイプラインでプリミティブ全体を把握し、それに関するいくつかのメトリックを計算し、その情報を使用してテッセレーションを制御する方法はありますか?
わかりやすくするために、問題の画像の例をいくつか示します...

図 1 (上): 赤または緑の各正方形は、元は 2 つの三角形でした。三角形が小さかったため、この例は見栄えがよくなります。

図 2 (上): それぞれの赤または緑の領域は、元は 2 つの三角形でした。この例では、三角形が小さかったため見栄えが悪くなります。

図 3 (上): 三角形は小さいが、グリッドがはるかに大きい別の例。エッジがどれだけ湾曲しているかに注目してください。テッセレーション レベル 4 でも、見栄えは良好です。

図 4 (上): 大きな三角形を使用した別の例。中央の 4 つの列のみを表示しています。これより多くの列が存在すると画像が判読不能になるためです。これは、非常に大きな三角形がうまくテッセレーションされないことを示しています。テッセレーションを非常に高く設定すると、これはうまくいきます。しかし、小さな三角形でも非常に多くのテッセレーションを実行しています。
opengl - OpenGL 地形およびテッセレーション シェーダー
2 つの質問:
現代のゲームは地形の頂点をどのように設定するのですか? 高さマップ イメージをテクスチャにアタッチし、それを使用して各頂点位置を設定しますか、それとも 3D ソフトウェア (Blender など) を使用してこれらの頂点を含むファイルを作成し、それを VBO に読み込みますか? 私の把握が間違っていたら訂正してください。
このプロセスにおいて、テッセレーション シェーダーはどれほど重要ですか? パフォーマンスを節約するだけですか、それとも視聴者のシーンも変更しますか?
c# - プリミティブ三角形を小さな三角形に分割する
Helix Toolkit で WPF を使用してパイプをレンダリングしています。提供された関数が生成する三角形プリミティブが大きすぎて使用できないことに気付きました。

たとえば、赤い三角形がプリミティブである場合、三角形の中央部分 (たとえば) を制御したいとします。私が考えることができる 1 つの方法は、示されているように、赤い三角形を青い三角形にさらに分割することです。この分割を可能にする方法またはアルゴリズムを教えてもらえますか?
opengl - 球面テッセレーションの座標が間違っています
単純な球の GPU にテッセレーションを適用しようとしています。このテッセレーションは単純な計画では完全に機能しますが、球体では機能しません。もちろん、座標マッピングが同じではないことはわかっています。それを行うために多くの方法を試しました。たとえば、平面にマッピングされた経度と緯度としてテッセレーション評価で gl_TessCoord (x と y) を使用しようとしました。次に、それらを球座標に変換しますが、「実際には」機能しませんでした。
テッセレーション コントロールでは、すべてのパッチを外側の 2 つと内側のレベルの 2 つに分割しています。
球を描画するコードは次のとおりです。
ここで、テッセレーション Evaluation の現在のコード:
インデックスは次のとおりです。
int indPtr = 0;
球体を描くために、私は次の例に従いました: Visual C++ を使用して Opengl で 3D 球体を作成するので、すべてのクレジットが彼に送られます (ところで、ありがとうございます!)。
結果を示す 2 つの画像を次に示します。

この問題を解決するのに役立つヒントがあれば、それは本当にクールです. ありがとうございました。注 : その他の情報が必要な場合は、お問い合わせください。掲載します。
shader - エラー X3502: ds_5_0 tessfactor がありません
シェーダーから上記のエラーが発生しています。ハル シェーダーのコード スニペット:
そして、エラーが発生しているドメインシェーダーのスニペット:
どんな助けでも大歓迎です。