問題タブ [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.

0 投票する
1 に答える
333 参照

opengl - テッセレーション後の Z ファイティング

奇妙なアーティファクト

私はopenglテッセレーションを行っていますが、これは私が得た絵です。裏面を間引くと黒ずみが消える傾向にあります。これはZファイティングのように見えますが、この問題をどこに対処する必要があるのか​​ わかりません(モデルサイズを大きくしようとして失敗しました)

0 投票する
1 に答える
1544 参照

directx - HLSLテッセレーションシェーダーを変更して正三角形を作成しますか?

詳細:

私は手続き型惑星生成の過程にいます。これまで動的LOD作業を行ってきましたが、現在のソフトウェアアルゴリズムは非常に低速です。代わりに、DX11の新しいテッセレーション機能を使用してそれを行うことにしました。現在、私の球は細分化された二十面体です。(20辺すべての正三角形)

ソフトウェアアルゴリズムを使用して細分化していたとき、1つの三角形が親の中点で4つの子に分割され、毎回Hyruleシンボルを形成していました...次のようになります:http://puu.sh/1xFIx

ご覧のとおり、細分化された各三角形は、ますます多くの正三角形を作成しました。つまり、それぞれがまったく同じ形状でした。

しかし、GPUを使用してHLSLでテッセレーションを行っているので、結果は間違いなく私が探しているものではありません:http: //puu.sh/1xFx7

質問:

ハルシェーダーとドメインシェーダーで、最初の画像のように正三角形のセットに分割されるようにテッセレーションを変更するためにできることはありますか?

このようなものにジオメトリシェーダーを使用する必要がありますか?もしそうなら、それはテッセレータよりも遅いでしょうか?

0 投票する
3 に答える
1806 参照

parameters - テセレーションを使用した HLSL でのパラメーターの受け渡し

私の質問は非常に単純であることを願っていますが、データの流れが正しくないようです。問題は、テクスチャ座標と法線データを頂点シェーダーからテッセレーション ステージ (ハルおよびドメイン シェーダー) を介して、レンダリングのためにピクセル シェーダーに渡す方法です。

私が直面している問題は、テッセレーションを使用する前に、データを頂点からピクセル シェーダーに単純に渡すことができることです。これら 2 つのシェーダーの間には、パッチ定数関数、ハル シェーダー、ドメイン シェーダーの間に複数のステップがあります。

これらの各セクションを介してデータを渡す方法について誰かが私に洞察を与えることができれば、それを示すための簡単な疑似コードがあれば、とても感謝しています。さらに情報が必要な場合、または私の現在のコード (動作しない場合でも) が必要な場合は、お知らせください。

追加情報: このプログラムは、HLSL を使用した DirectX 11 API を使用して C++ で記述されています。

0 投票する
3 に答える
1411 参照

c++ - テッセレーションにテクスチャを適用する OpenGL

凹面ポリゴンを取り、それに画像をテクスチャとして適用しようとしています。多角形には、内部の穴と外部の「島」の両方の複数の輪郭を含めることができます。どんな形でもかまいませんが、画像よりも小さく、中に収まります。必ずしも画像の端に触れるとは限りません。

テッセレーションされたポリゴンを正常に表示し、単純な正方形をテクスチャリングしましたが、2 つを連携させることはできません。

テクスチャをロードする方法は次のとおりです。

テッセレーション関数は次のとおりです。

テッセレーション頂点のコールバック関数は次のとおりです。

表示コールバックは次のとおりです。

この結果は、テクスチャが適用されていない正しく描画されたポリゴンです。

0 投票する
1 に答える
633 参照

c++ - OpenGL テッセレーション コールバックが実行されない

ここの例を使用して、テッセレーション コールバックを別のクラスに移動しました。

コードはコンパイルされますが、コールバック コードは実行されません。

コールバック クラス:

コールバック:

それらを登録しているテッセレーション関数:

コールバックの登録方法の何が問題になっていますか?

0 投票する
1 に答える
647 参照

sql-server - wgs​​84座標をSQLサーバーのBツリーインデックスにマップする方法(組み込みの空間インデックスを使用しない)

WGS84 からの地理的なポイントを、ms sql サーバー用にフォーマットされていると思いますが、同じ座標ペアが 4 つの階層グリッドを持つ sql サーバーの空間インデックスにテサレートされる場合に接触するセルのセットにマップできるようにしたいと思います。それぞれ256セル。

SQL Server 2008 の空間インデックスは、同じインデックス内での地理データと非地理データの両方の使用をサポートしていないため、私たちのニーズに理想的には適合しません。

自分で翻訳を実行する方法を知っていれば、上記の制限を回避できるように思えます。

このページでは、1 から 4 までの正の整数のシーケンスとして個別にエンコードできる平面セルに地理ポイントをマップする方法を視覚的に示します。番号付きセルの例については、リンク先のページ内のセクション「Deepest-Cell Rule」を参照してください。

私は基本的に、それを行う方法に関する疑似コードを探しています。

アルゴリズムの詳細を知っていれば、どんな助けでも大歓迎です。

前もって感謝します。

0 投票する
1 に答える
1742 参照

r - Rの非距離距離に基づくボロノイ図

Rでボロノイ図を作成したいと思います。N次元(たとえば10)の点のセットがあります。多次元尺度構成法(MDS)を使用したくありません。ボロノイ図を非メートル法でプロットしたい。この実装を備えたパッケージはありますか?そうでない場合は、これらのN次元座標を使用してテッセレーションをプロットする適切な方法を提案していただけますか。

0 投票する
2 に答える
544 参照

r - r のプロットの領域内のサブプロット

上の表は、プロットしたいプロットの x(1 列目)と y(2 列目)の座標を示しています。

次のテッセレーションを上記のテッセレーションの 1 つの領域にプロットしたいと考えています。dd$dirsgs を使用してテッセレーションを形成する線を取得できます。この中で、テッセレーションにある各ラインには、それらの終点が与えられます。この最初の 4 列は、それぞれ x1,y1 および x2,y2 座標を示します。これらの座標は、線の終点です。このデータを使用して、上記のテッセレーションのこの 1 つの領域内に次のサブテッセレーションをプロットできます。

次のサブテッセレーションでは、選択した座標を生成できます。しかし、私はそれらが上記のプロットされたテッセレーションの 1 つの領域にあることを望んでいます。

dd$dirsgs の ind 1 と ind2 は、dd$dirsgs の最初の 4 列で表される線で区切られた「d」の点を示します。

たとえば、d の最初の点を含むプロットでサブテッセレーションをプロットする場合、行 1、2、9、12、17 は、d の最初の点の境界を形成する行です。この情報を使用して、この領域内にサブテッセレーションをプロットできますか? –</p>

私の問題を理解するために必要なすべてのことをカバーしたと思います。含まれていないデータが他にある場合は、お知らせください。情報をお伝えします。

0 投票する
2 に答える
760 参照

directx - DX11 テッセレーション LOD の直径が正しくないテッセレーション値

私は、次の withpaper NVidia TerrainTessellation WhitePaperから直径で LoD を実装しました。章「ハル シェーダー: テッセレーション LOD」7 ページには、直径を使用した LoD の非常に優れた説明があります。ここに良い引用があります:

パッチ エッジごとに、シェーダーはエッジの長さを計算し、その周囲に概念的に球体を当てはめます。球はスクリーン スペースに投影され、そのスクリーン スペースの直径を使用して、エッジのテッセレーション ファクターが計算されます。

ここで私の HullShader:

コードのグラフィカルな説明: まず、2 つの頂点間の中心を見つけます 。長さを計算してテッセレーション ファクターを計算するために、投影空間で ここに画像の説明を入力 「円」プロジェクト sUp と sDown のカメラから直交基底 (カメラ方向に対して直角) を見つけ ます。ここに画像の説明を入力ここに画像の説明を入力

問題

テッセレーションはうまくいきました。しかし、いくつかのテスト上の理由から、オブジェクトを回転させたので、テッセレーションが回転に合わせて進行しているかどうかを確認できます。100%正しくないと思う部分もあります。平面を見てください。この平面は (1.0f, 2.0f, 0.0f) だけ回転しており、明るい赤は、暗い赤に比べてテッセレーション ファクターが高いことを示しています。緑色は係数 1.0 です。平面の下部よりも上部の方が詳細である必要があります。 回転を伴う TessellationFactor

私は何が欠けていますか?

いくつかのテストケース

ローテーションのものを削除すると、次のようになります。 ここに画像の説明を入力

回転を削除し、直交基底計算のこの単純なバージョンを含めると、次のようになります。

次のようになります。 ここに画像の説明を入力

ルックアップ ベクターを使用していない場合、問題になる可能性はありますか? LoDの調子はどうですか?私は何か他のことをしようとしています...