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

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

java - 三角形のストリップで通常の面を描画しますか?

三角形ストリップの法線を計算する必要があり、他のすべての三角形が暗く、うまくシェーディングされていないという問題があります。フラットシェードモデルを使用しています。巻く方向と関係があるのか​​はわかりません。三角形のストリップの下を見ると、暗い領域または切り替えられた部分を除いて、トップと同じであることに気付きます。問題は、計算しようとしている表面法線が共有頂点を使用していることだと思います。その場合、GL_TRIANGLES に切り替えることをお勧めしますか? これをどのように解決しますか?

これが私が今持っているものです。三角形クラスには、3 つの Vert オブジェクトを持つ triVerts 配列があります。Vert オブジェクトには変数 x、y、および z があります。

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

opengl - GL_TRIANGLE_STRIP 対 GL_TRIANGLE_FAN

GL_TRIANGLE_STRIPのみで実行できるポリゴンと、 でのみ実行できる別のポリゴンの例が必要GL_TRIANGLE_FANです。

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

opengl - GL_TRIANGLES でテクスチャをバインドする

以前は、テクスチャを QUADS にバインドしてレンダリングしていました。画像の特定のセクションをクワッドにバインドする必要があるアニメーションがある場合、ユニバーサル座標 [0..1] を使用するだけで済みます。

問題は、openGL を使用して再試行していることです。GL_QUADS が非推奨になり、現在は TRIANGLES でレンダリングされているだけです。私の問題は、三角形を使用してテクスチャをバインドする方法がわからないことです。

ありがとう

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

c++ - 三角形から OpenGL プレーンを作成する際の問題

OpenGL を使用して平面を作成しようとしていますが、コードはある程度機能しますが、一部のインデックスで奇妙な結果が得られます。私のコードをできる限り説明しようと思います。これは、私のコードとオンラインで見つけたものが混在しています。

メイン:

すべてのセットアップはメインで行われるため、関数は必要なすべての値を認識します。

関数:

最初の for ループは頂点を作成し、2 番目はインデックスを作成します

結果:

4×2

インデックス 0、5、1、6、2、7、3、8、4、9、9、5、5、10、6、11、7、12、8、13、9、14、0、0、0 , 0, 0, 0, ...} unsigned int[42]

22 個の値を正しく処理し、残りはゼロです。

理由はありますか?

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

opengl - GL_LINE_STRIP でこの放物線方程式を考えると、GL_TRIANGLE_STRIP で放物線の形をした円柱が必要ですか?

ワイヤをシミュレートするために、2 つの終点とドループ/サグの値を指定して放物線を描画するコードがあります。現在GL_LINE_STRIPを使用して描画していますが、ピクセルの太さに制限されており、ワールド座標の太さが必要です。だから私がする必要があるのは、厚さの半径を渡し、この放物線の各点で高さのセグメントを持つ円柱を描くことです。この座標系では +Y が上です。これが私のコードです:

ご覧のとおり、Lat/Long/El をローカルの opengl 座標に変換する WorldToLocal があります。

円柱の精度をセグメントあたり 6 つの頂点と仮定します...GL_TRIANGLE_STRIP プロット メソッドのために、これらの放物線の点を配列に追加し、それらを事前に計算して使用する必要があると考えています。円柱セグメントを右にプロットしながら次のセグメント シリンダーの端にキャップをする必要はありません。

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

kinect - 2D グリッド上の点群からメッシュを作成

私は新しい Kinect v2 を使用しており、Kinect の深度マップを取得しています。深度マップを取得したら、深度データを深度空間からカメラ空間に変換します。私が理解している限り、これは、各ピクセルのすべての X、Y 座標をカメラ空間に変換し、深度値を Z 座標として追加することによって行われます (また、Kinect は深度値をミリメートル単位で提供するため、保持メートルにも変換されます)。このため、点群は実際には深度値で拡張された 2D グリッド上にあります。上記の会話により、ポイントがグリッド内で順序付けられていることが簡単にわかるため、視覚化でもこれが確認されます。

視覚化のために、私は昔ながらの方法で OpenGL を使用しています (glBegin(...) および glEnd())。ポイントからメッシュを作成したい。私は GL_TRIANGLES で何とかそれを行うことができましたが、重複した頂点とエッジがたくさんあります。だから私はGL_TRIANGLE_STRIPでより良い三角形分割を作成するべきだと思ったが、GL_TRIANGLE_STRIPに供給して素敵な表面。

問題点:

  • 各三角形の頂点について、Z 座標をチェックしています。特定のしきい値を超えると、三角形を無視します => これにより、2D グリッドに穴が開く可能性があります。

  • 一部の深度値は NaN です。これは、Kinect が何も「見る」ことができないためです (たとえば、オブジェクトが遠すぎたり近すぎたり) => これにより、2D グリッドにも穴が作成されます。

この問題を解決するための最良の方法は何か提案はありますか?