問題タブ [vertex-array]

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

away3d - 平面の頂点データに 52 個のエントリが含まれているのはなぜですか?

私は 3D ランドに不慣れで、いくつかのエンジンを試してみました。シンプルさのために、私はaway3Dに落ち着きました。

平面を作成してテクスチャを貼り付けて作成していますが、リアルタイムで UV データを変更してテクスチャをアニメーション化できるようにしたいと考えています。

これらの行はどちらも 52 を返します。

私が他のエンジンで理解している限り、頂点データには各頂点 (x、y、z) に対して 3 つの値が含まれています。4 つまたは 6 つの頂点から平面を構築できることを考慮すると、頂点配列全体で 12 または 18 の頂点値になります。

通常、UVData 配列には、対応する各頂点の U 値と V 値が含まれるため、頂点配列よりも値が少なくなります。ただし、ここでは UVdata と vertexData 配列の長さは同じです。

away3D フォーラムで質問してみましたが、応答がありませんでした。私の 3D に関する知識は、away3d のソースコードを理解するにはまだ小さすぎます。

vertexData と UvData に非常に多くの値が含まれている理由と、それらが何を表しているかを説明できる人はいますか?

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

opengl - OpenGL で立方体をテクスチャ化する最良の方法

立方体にテクスチャを適用する最良の方法 (最小メモリ、最速) はどれですか? しばらくして、私はこの解決策を見つけました:

データ構造:

描画機能:

ご覧のとおり、結果は正しいです。 立方体

しかし、この結果を取得するには、いくつかの頂点を再定義する必要があります (vertices配列には 16 の 3D ポイントがあります)。そうしないと、DrawElement 関数でテクスチャをマップできません。

誰かが頂点配列の立方体をテクスチャ化するより良い方法を知っていますか?

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

java - OpenGL: 頂点配列を使用して数千の立方体をレンダリングすると、うまく機能しません

頂点配列を使用して、LWJGL で約 2097152 個のキューブをレンダリングしようとしています (一度にすべてではありません)。パフォーマンスを約 2 FPS から約 60 FPS に向上させるために、さまざまなタイプのポリゴン カリングを実装しました。このプロジェクトを通して、私はイミディエート モード レンダリングを使用してきましたが、そろそろアップグレードの時期だと思います。ここで、頂点配列の出番です。

私は VBO を使いたくないので、今のところ VAO を試しています。実用的な(または効率的な)レンダリング方法を理解できないようです。残念ながら、何を試しても即時モードよりも FPS が悪くなります。フレームごとに、ポリゴンが表示されているキューブごとに FloatBuffer をロードし、共通の頂点配列メソッドを使用してそれらを描画します。このセットアップでは、Immediate モードを使用してポリゴンをカリングしない場合よりも FPS が少なくなるため、頭痛の種になります。

私は何か間違ったことをしていると思います。優秀で意欲的な OpenGL/LWJGL プログラマーの中で、より効果的かつ効率的な方法でこれを行う方法を知っている人はいますか?

これがレンダリング用の私のコードです(あまり混乱しないように切り捨てられています):

(これらの変数のいくつかは無視してください。異なるポリゴンをカリングするだけです)

そのため、これを行うためのより効率的な方法があるかどうかはわかりませんが、ある場合は、いくつかのポインターを取得できれば幸いです。前もって感謝します!ああ、そして...

レンダリング方法に非常に問題があります。

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

java - VAO を使用した JOGL でテクスチャが黒くなる

これまでのところ、非推奨の即時モード レンダリングを使用しており、VAO に切り替えてから VBO に切り替えようとしています。2D クワッドは通常、VAO を使用してレンダリングされますが、テクスチャをアタッチしようとすると、黒のままになります。誰かが私のコードを見て、間違っている部分を指摘していただければ幸いです。

記録のために: 私の vcard は、(明らかに) VAO をサポートする OpenGl 4.3.0 を持っていると報告しています。テクスチャを使用した即時レンダリングは正常に機能しています。

どんな種類の助けでも本当に感謝します。よろしくお願いします。

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

ios - OpenGLES の Vertex Array Object (VAO) が構築直後に不思議なことに無効になる

iOS で非常に奇妙な VAO の問題が発生しています。

問題は、新しく作成された VAO が作成直後に無効になることです。

glGenVertexArrayOES(1, &vao) を使用して通常の方法で VAO を作成するコードがあります。次に、それをバインド (glBindVertexArrayOES) し、すべての頂点バインディングなどを設定してから、ゼロ VAO をバインドして、glBind 呼び出しが誤って書き込まれないようにします。この時点で glIsVertexArrayOES(vao) を呼び出すと、true が返されます。

私のコードはジョブ グラフとして構造化されており、ジョブは順序付けられたキューにプッシュされ、ピックアップされてスレッドプールで実行されます。それにもかかわらず、OpenGL の場合、GL を呼び出すコードは 1 つのスレッドでのみ実行します。これを確実にするためにスレッドアフィニティを持っています。

今。コードが実行され、VAO が作成され、関数が終了します。次に、次のジョブを取得して同じスレッドで実行し、新しく作成された VAO を使用しようとします。この時点で glIsVertexArrayOES を呼び出すと (文字通り、構築のほぼ直後)、false が返されます。

それを無視して使用しようとしても失敗します。

glDeleteVertexArraysOES にブレークポイントがありますが、それが呼び出されません。とても奇妙です... VAOを正常に作成し、関数を終了し、新しく作成されたVAOを同じスレッドで使用しようとして(したがって、コンテキストと共有グループの問題を回避します)、失敗します。

どんな助けや洞察も大歓迎です!

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

c++ - D3D9 円の作成

D3DPT_TRIANGLEFAN を使用してバグを発生させた別の質問を以前に投稿しましたが、サークルを別の方法で再コーディングしようとしました。唯一の問題は、画面に描画されないことです...デバッグを試みましたが、すべてが完璧に進んでいるように見えますが、これは奇妙です。これが私の「Circle」クラス全体です(これはポンゲームのより大きなプログラムの一部です)

事前に助けてくれてありがとう!