問題タブ [gl-triangle-strip]
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.
xna - 回転時のエイリアシングの問題を修正する XNA 4.0 の太い三角形のストリップ
X 軸を中心にカメラを回転させると、トライアングル ストリップ ベースの線が断続的に消えます。
これはエイリアシングの問題によるものであり、「エッジがカメラに面している特定の角度でストリップが消える」とのことでした。なので、少し厚みを持たせてくださいと言われました。
誰かがこれを行うための最良の方法を教えてもらえますか? 2 つのストリップを直接重ねて描画することでしょうか? これは問題を解決していないようですが、おそらく私は間違っています。
ご協力いただきありがとうございます。
ios - 連結された三角形ストリップを描画する際の逆三角形ストリップ (巻き取りの問題) (ios 6)
レンダリングのために、入力三角形から派生した三角形ストリップのペアを送信しようとしています
ストリップは、次の頂点インデックスによって定義されます。
ストリップ 1: 0 14 16 15 1 23 30 41 8
ストリップ 2: 31 7 17 18 16 0
これらのストリップは、次のインデックスの三角形から導出されます (これは、任意のメッシュから取得されます)。入力三角形と比較して、三角形がストリップ内で同じ巻線を持っていることを示すために、正の記号を使用します。
1 つの入力三角形をストリップ
0 14 16 +
14 15 16 -
1 16 15 +
1 15 23 -
1 23 30 +
41 30 23 -
8 30 41 +
2 つの入力三角形を除去
7 17 31 +
7 18 17 -
16 17 18 +
0 16 18 -
これらの三角形を三角形としてレンダリングすると、期待どおりの結果が得られます。つまり、三角形の可視面がすべて同じ側にある三角形ストリップのペアです (この場合、可視面は視聴者の方を向いています)。
ストリップを三角形のストリップとして個別にレンダリングすると、期待どおりの結果が得られます。これは、三角形を描画して得られる結果と同じです。
ただし、Apple のガイドラインに従ってこれらのストリップを連結すると (最初のストリップの最後の頂点と 2 番目のストリップの最初の頂点を複製することにより)、ストリップ 1 が正しく、ストリップ 2 が反転して (つまり、表示される側が反転して) ストリップが描画されます。
レンダラーに渡されるストリップ シーケンス: 0 14 16 15 1 23 30 41 8 8 31 31 7 17 18 16 0
最後に、2 番目のストリップを逆にして新しいシーケンス ストリップをレンダラーに渡すという簡単な実験では、違いはありません。2 番目のストリップはまだ反転されています。
私は何を逃したのですか?
opengl - OpenGL三角形ストリップの巻き方向は、三角形から三角形へと交互になりますか?
トライアングル ストリップの頂点の巻き方向 (時計回りと反時計回り) で見られるいくつかの矛盾を解決しようとしています。OpenGLで反時計回りに90度回転させた台形を描いています。関連するコードは次のとおりです。
ここで読んだことから、OpenGL のデフォルトの前面は反時計回りです。これは、ストリップの最初の三角形の頂点を反時計回りに並べる必要があることを意味します。さらに、三角形のストリップを描画すると、三角形から三角形へと反時計回りと時計回りの間で巻線の方向が切り替わるため、頂点はそのように順序付けられます。したがって、私のコードから、最初の三角形は ABC、2 番目は BCD、3 番目は CDE、4 番目は DEF になります。ただし、この記事 (OpenGL プログラミング ガイドからの引用) は、ABC、CBD、CDE、EDF (v0 - A、v1 - B などを想定) として描画すると述べています。方向。
OpenGL 仕様から A/B 表記を正しく理解している場合、三角形はすべて同じ方向に曲がりますが、いくつかの異なる場所でさまざまな曲がりが見られます。出来上がる形は同じなのでセマンティクスの問題かと思いますが、実際の巻き順はどうなっているのですか?
opengl - インデックスに基づくテクスチャ ハイトマップ(OpenGL/GLSL)
行ごとに三角形のストリップでレンダリングされたハイトマップを完成させました。私の解決策は次のとおりです。
およびストリップのインデックス:
行ごとのループで VertexArrayObject と drawelements を使用します。今、私は高さに基づいて単一のシェーダーの色付けでそれを使用していますが、テクスチャと組み合わせたいです(高さに基づいていますが、それでも私の問題ではありません)
四角形を形成する2つの三角形にテクスチャを配置したいのですが、
...しかし、実装方法が本当にわかりません。これに関するすべてのトピックを読みましたが、機能しませんでした(単色のみが表示されるか、マップ全体が黒でした)。
では、最初の「クワッド」(2 つの三角形) のみの配列を作成し、インデックスを増やすなどして、それに基づいてマップ全体をテクスチャリングすることは可能ですか? はいの場合、どうすればこれを行うことができますか。もう 1 つ: マップ全体の上に 1 つのテクスチャを配置して、地形全体にスケーリングするにはどうすればよいでしょうか。
1 つのクワッドまたは 2 つの三角形を含む三角形ストリップでそれらを行うことができましたが、〜 3 000 000 の三角形ではできませんでした。
主な問題はインデックス付けです。私が正しければ、インデックスに基づいて頂点の位置だけでなく、色とテクスチャ座標も描画するからです。
私の地図: http://kepfeltoltes.hu/view/130827/1094341850Untitled_www.kepfeltoltes.hu_.png 私はそれがかなり「過大な」質問であることを知っていますが、まだ正しい方法を見つけていません。編集:テクスチャを並べて表示したい。
opengl - トライアングル ストリップと縮退三角形
私の質問はばかげているかもしれませんが、三角形ストリップの利用の良い例が見つかりませんでした:
http://i.stack.imgur.com/KL8jk.png
そのような頂点で:
場合によっては、例で次の構成を見つけることができます。
- A、B、C、C、B、D
またはこれ:
- あいうえお
何が正しいですか?私は両方を試しましたが、両方とも機能します。
ここで、縮退三角形を使用して 2 つの正方形を結合したいと思います。
これが私が持っているものです:
ABCD + DEEF + EFGH
しかし、ここでも、私は時々いくつかのアーティファクトを持っています。
performance - インデックス付き GL_TRIANGLES とインデックス付き GL_TRIANGLE_STRIP
インデックス付きトライアングルまたはトライアングル ストリップ間のレンダリング パフォーマンスについてはかなり話題になっています。しかし、十分に考慮されていないケースがあると思います。
インデックス付きの三角形は、OpenGl では次のようにレンダリングされます。
しかし、何らかの理由で、多くの人がストリップを次の方法でのみレンダリングすると考えています。
GPU 変換キャッシュが GL_TRIANGLES モードでレンダリングされるのに便利なようにメッシュを最適化する非常に優れたインデクサー (Forsyth、Tipsify など) がいくつかあります。理想的には、三角形ごとに 0.5 レンダリングされた頂点などを達成できます。
しかし、なぜこれをしないのですか?
つまり、ストリップ レンダリングの低いインデックス帯域幅と、上記のインデクサーが提供する効率的な GPU 変換キャッシュの使用を組み合わせるということです。少し変更を加えるだけで、ストリップを最適化して Tcache に適したストリップ インデクサーを使用することは良い考えであると言うのは正しいでしょうか?
おそらく0.5の目標には達しないでしょうが、少なくとも0.6はおそらく?また、インデックス帯域幅が大幅に増加することも忘れないでください (GL_TRIANGLES に対して 3 分の 1 になる可能性があります)。
opengl-es - Webgl: gl.multiDrawElements がないのはなぜですか?
webgl 用のglMultiDrawElementsのバージョンがないのはなぜですか?
GL_TRIANGLE_STRIP
特に多数のS やGL_TRIANGLE_FAN
sを描画する場合は、このような便利な機能のように思えます。
この機能が除外された特定の理由はありますか?