問題タブ [vertex-buffer]

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 に答える
144 参照

field - Vertex Attribute レジスタの各フィールドに 4 つの単一の VertexBuffer を関連付けることはできますか?

Stage3D/では、次のような方法でAGAL個々の VertexBuffers を同じものにポイントすることは可能ですか?va0

  • VertexBufferデータは個別に変更できます (状況によっては、これが優れたパフォーマンスであると思いますか?)。

  • それぞれが(最初の頂点属性レジスタ)VertexBufferの 1 つのフィールドに焦点を当てているため、vertexbuffer1は vertexbuffer2 = 、vertexbuffer3 = 、および vertexbuffer4 = を操作します。va0va0.xva0.yva0.zva0.w

オブジェクトにVertexBuffer を割り当てるときに「オフセット」とデータ形式 (例: FLOAT_1、FLOAT_4) を指定できるので、Context3Dこれが可能になると思います。

設定が間違っているのかもしれませんが、これを試してみたところ、達成できませんでした。

各 VertexBuffer は、各レジスタの 4 つのフィールド全体を占める必要がありますか? もしそうなら、なぜ FLOAT_1 から FLOAT_3 への値が存在するのか理解できません! :S

前もって感謝します!

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

android - opengl androidで線を引く方法

次のURLのように見える線を使用して正方形を描く必要があります。

http://www.thinkingwriting.qmul.ac.uk/wishees/tutorials/square.gif

opengls GL_LINES または GL_LINES_STRIP を使用して Android で描画する方法を教えてください。

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

ios - OpenGL ES 2.0 GLKit 線を引く

OpenGL ES 2.0 GLKit で線を引こうとしています。次のコードを実行して OpenGL ES Analyzer を使用すると、次のエラーが発生します。

「存在しないプログラムの使用」 glDrawArrays(GL_LINE_STRIP,0,4)

"GL エラー: 無効な操作" GL_INVALID_OPERATION <- glVertexPointer(2,GL_FLOAT,0,NULL) GL_INVALID_OPERATION <- glEnableClientState(GL_VERTEX_ARRAY)

これが私のコードです:

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

performance - 頂点バッファオブジェクトとglutsolidsphere

「ばね-質量」のようなシステムの3D物理シミュレーションで、球の素晴らしいコレクションを描画する必要があります。

シミュレーションのすべてのステップで表示リストをコンパイルせずに球を描画する効率的な方法を知りたいです(各ステップは、計算に関係するボディの数に応じて、ミリ秒から秒まで変化する可能性があります)。

頂点バッファオブジェクトは、時々更新する必要があるオブジェクトを描画するための効率的な方法であることを読みました。

glutSolidSphereよりも速い方法でOpenGL球を描画する方法はありますか?

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

c++ - DirectX - 頂点配列を引数としてバッファを作成する

今日、私は DirectX(D3D9) を使い始めました。静的メッシュ クラスを作成するまではすべてうまくいきました。このクラスには、バッファの生成、描画、およびバッファの解放のためのメソッドが含まれています。

問題はバッファ生成機能にあります。関数への引数として頂点配列を渡したい場合、描画時に三角形 (三角形でテスト) は描画されませんが、頂点が関数内で宣言されている場合 (引数)、三角形は描画されません。

頂点クラス:

頂点バッファ生成関数 (動作しません):

頂点バッファ生成関数 (機能します):

何が問題なのかわかりません。助けてくれてありがとう。さらに情報が必要な場合は、私に知らせてください。

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

python - PyOpenGLでglBufferData()を使用するには?

OpenGLへのPyOpenGL pythonバインディングでglBufferData()をどのように使用しますか?

次のコードを実行すると

glBufferData() を呼び出すと、エラー メッセージが表示されます。

このコードは、緑の背景に赤い四角形を描画することになっています。

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

python - How to specify buffer offset with PyOpenGL

What is the PyOpenGL equivalent of

If the offset is 0, then

works, but I can not figure out how to specify a non-zero offset into a buffer object.

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

c++ - OpenGLバッチ処理:描画呼び出しが配列バッファーの境界を超えるのはなぜですか?

頂点バッファオブジェクトを使用して、OpenGLES2.0で比較的単純な2Dスプライトバッチ処理を実装しようとしています。ただし、ジオメトリが正しく描画されておらず、特定できないエラーが原因で、InstrumentsのGLESアナライザーが次のように報告します。

Draw Call Exceeded Array Buffer Bounds

描画呼び出しは、使用中の配列バッファーの範囲外の頂点にアクセスしました。これは重大なエラーであり、クラッシュする可能性があります。

バッチ処理ではなく、一度に1つの四角形を描画することで、同じ頂点レイアウトで描画をテストしましたが、期待どおりに描画されます。

もっともらしい関連性の他の情報:renderQueueはDrawDescriptorsのベクトルです。私の頂点バッファフォーマットはインターリーブされたposition2、texcoord2:X、Y、U、V ..であるため、BufferStrideは4です。

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

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

opengl - glMultiDrawElements: 「インデックス」パラメーターに渡す値 (GLvoid**)

一部のコード (2D シェイプのアウトライン用のデータの VBO の構築を処理します。つまり、単なる三角形メッシュではなく、任意の長さのポリゴン アウトラインにすることができます) を、プリミティブ再起動の使用から の使用に変換する必要がありましたglMultiDrawElements。実際には自分のアプリケーションにより適していることに気付きglMultiDrawArraysましたが、それは質問とは関係ありません (実際、私が賢く移植してglMultiDrawArrays代わりに使用していれば、この奇妙な問題に遭遇しなかったでしょう)。

必要な値を格納するためのデータを格納するために、2 つのベクトルを組み立てました。

indices次に、N個の頂点を持つ各ポリゴンに対して と の両方に単一の値をプッシュし、ポリゴンの最初の頂点に対応するIBOのインデックスをどこに挿入しlengths、その中に頂点の整数を配置しました。ポリゴン。indices(char*)NULL+indexindexlengths

構造体は、次のようにE_MDEGBuffer値を渡すために使用されます。glMultiDrawElements

プログラムをテストしたところ、レンダリングが完全に台無しになりました。

最終的に、渡されたハードコーディングされた値を少しいじるglMultiDrawElementsと、インデックス値が 4 倍ずれていることがわかりました。

例として、最初のポリゴンに 3 つの頂点があり、2 番目のポリゴンに 5 つの頂点があるとします。

正しい結果を得るために、私のindicesベクトルには含まれるもの[0,0xc]lengths含まれるものがあります[3,5]

なぜすべきでindicesはないの[0,0x3]ですか?

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

windows - D3DPT_TRIANGLELIST を機能させることができません

D3DPT_TRIANGLELIST を使用しようとすると問題が発生します。次のサンプルは本からのものなので、何が問題なのかわかりません。

頂点データ:

描画機能:

ただし、D3DPT_TRIANGLELIST からたとえば D3DPT_LINELIST に変更すると、線が描画されます。D3DPT_POINTLIST を使用すると、DrawPrimite 呼び出しごとに 1 つのポイント (ピクセル) しか描画されません。

助けてくれてありがとう!