問題タブ [tesselation]

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 投票する
0 に答える
181 参照

algorithm - NASA ワールド ウィンドでローカル DEM をレンダリングする

World Wind のローカル標高データをレンダリングしようとしています。そして、World Wind のテッセレーション アルゴリズムを使用してデータをテッセレーションし、地球上にレンダリングします。LocalElevationModel については知っています。これを使用してDEMファイルを保存できました:

localElevation データの最大、最小緯度ログに対して lookupElevation メソッドを使用して、このモデルにアクセスできます。しかし、私は先に進む方法がわかりません。RectangularTessellator クラスを調べましたが、使い方がわかりませんでした。これを行う方法についての手がかりはありますか?

PS:ソースコードを見ていましたが、シーンを作るにはあまり理解できませんでした。だから、もっと知りたいと思いました。

PPS: 不可能な場合は、地形をレンダリングするための実装が簡単で最適化されたアルゴリズムを教えてもらえますか? 生成された混乱のさまざまな LOD をサポートします。

ありがとう、

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

opengl - gl::DrawArrays は、テッセレーション シェーダーがアタッチされていると失敗する

私は OpenGL SuperBible 6th エディションを使用しており、テッセレーション シェーダーについて学習しています。からINVALID_OPERATIONエラーが発生しgl::DrawArraysます。これは私のコードです:

このプログラムを実行すると、次のデバッグ メッセージが表示されます。

シェーダー (頂点シェーダー、フラグメント シェーダー、テッセレーション コントロール シェーダー、テッセレーション評価シェーダー) は省略しましたが、必要に応じて表示できます。それらは非常に基本的なものであり、質問を混乱させたくありませんでした。実際、これらはsb6 git リポジトリからのこのサンプル プログラムにあるものです。それらはエラーなしでコンパイルおよびリンクされます。

両方のテッセレーション シェーダーの呼び出しを削除するとgl::AttachShader、エラーは発生せず、単純なワイヤフレームの三角形が描画されます。テッセレーション シェーダーでは、同じ三角形を描画することになっていますが、小さな三角形に分割するだけです。

私はglDrawArrays このサイトINVALID_OPERATIONでドキュメントを調べましたが、私のコードはエラーを引き起こす可能性のあることを何もしていないようです。

0 投票する
0 に答える
231 参照

opengl - GLSL 線からLOD曲線を作る

解決策: OpenGL/GLSL でテサレーションされた LineLoops を描画する


OpenGL と GLSL を使用して、球体 (Borders on a Planet) に LineLoops を描画しています。

線を定義する点はユーザー入力によって与えられるため、球内でのクリッピングを防ぐのに十分な精度がありません。

テッセレーションやジオメトリ シェーダーを使用して既存のポイント間に追加のポイントを作成し、ポイント間の距離が特定の値を超えないようにしたいと考えています (線が球の内側でクリップしなくなりました)。

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

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

悲しいことに、テッセレーション シェーダーに関する情報はあまりないため、それらがどのように機能するかはよくわかりませんが、プリミティブを細分化できることはわかっています。

ここに私の現在の頂点シェーダーがあります:

Tessalation/Geometry Shaders を使用して、ポイント間にさらに頂点を作成し、新しく作成された頂点をオフセットして、指定されたsphereRadius均一な長さになるようにするにはどうすればよいですか?

行ごとに 1 つの細分を行うソリューションを探しているわけではありません。を超えないポイント間の特定の距離を取得するために必要な数のサブディビジョンを実行するソリューションを探しますmaxDist


私は現在、次のように描いています。

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

math - OpenGL での円のテッセレーション

この関数の背後にある数学を理解するのに苦労しています。OpenGLで円を形成するポイントを作成するためにここに書かれた式(特にこの接線と半径の要素は何か)の背後にあるロジックを聞きたいと思います。

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

c++ - C++/OpenGL: テッセレーションはどのように機能しますか?

「OpenGL SuperBible Seventh Edition」という本を持っていますが、テッセレーションがどのように機能するのか疑問に思っています。現在、この本の第 3 章を読んでいますが、テッセレーション コントロール シェーダー、テッセレーション エンジン、およびテッセレーション評価シェーダーを使用したテッセレーションの説明がよくわかりません。

だから私は使用しています

  • OpenGL 4.5
  • C++11
  • ウィンドウズ

OpenGL 4.5テッセレーションがどのように機能するか、および制御点バッチなどとは何かを詳しく説明してもらえ ますか?

編集:わかりました、もっと詳しく尋ねなければならないと思います。

  • 「高次プリミティブ」とは何ですか?
  • 「四角形」とは?
  • パッチが形成される「制御点」とは何ですか?
  • 「バッチ」とは何ですか? (この本では、テッセレーション コントロール シェーダーは、各バッチのサイズがパッチあたりの頂点の数と同じであるコントロール ポイントのグループに対してバッチで実行されると説明しています。)
  • 「重心座標」とは。

これにより、私の問題と質問がより明確になると思います。

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

r - R - 六角形テッセレーションのプロット

ここに描かれているように、内部に六角形の配列を持つ正方形のプロットを生成したいと思います。私は規則的な (幾何学的に規則的な) 六角形テッセレーションと異常な六角形テッセレーションの両方をプロットしたいので、「sp」パッケージのツールは機能しないと思います。

以下は、owin と plot を使用した正六角形テッセレーションの試みです。


ただし、 har2 がリストのリストとして正しくフォーマットされていないため、上記はエラーになるようです。

上記は明らかに六角形の単一行のみですが、最初の行を取得したら、各行のセット x と y 距離を追加する for ループで単一行をラップするだけだと考えました。har2 をフォーマットして、owin の poly 関数に直接プラグインできるようにする方法がわかりません。

私は上記の方法を完全に変更することにオープンです.私はまだRに比較的慣れていないので、最も効率的/エレガントな方法で物事を行う方法をまだ知りません. 現在、RStudio V0.99.903 を実行している Win 10 x64 で R バージョン 3.3.2 を実行しています。

どんな助けでも大歓迎です。

ありがとうございました!