問題タブ [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.
field - Vertex Attribute レジスタの各フィールドに 4 つの単一の VertexBuffer を関連付けることはできますか?
Stage3D
/では、次のような方法でAGAL
個々の VertexBuffers を同じものにポイントすることは可能ですか?va0
各
VertexBuffer
データは個別に変更できます (状況によっては、これが優れたパフォーマンスであると思いますか?)。それぞれが(最初の頂点属性レジスタ)
VertexBuffer
の 1 つのフィールドに焦点を当てているため、vertexbuffer1は vertexbuffer2 = 、vertexbuffer3 = 、および vertexbuffer4 = を操作します。va0
va0.x
va0.y
va0.z
va0.w
オブジェクトにVertexBuffer を割り当てるときに「オフセット」とデータ形式 (例: FLOAT_1、FLOAT_4) を指定できるので、Context3D
これが可能になると思います。
設定が間違っているのかもしれませんが、これを試してみたところ、達成できませんでした。
各 VertexBuffer は、各レジスタの 4 つのフィールド全体を占める必要がありますか? もしそうなら、なぜ FLOAT_1 から FLOAT_3 への値が存在するのか理解できません! :S
前もって感謝します!
android - opengl androidで線を引く方法
次のURLのように見える線を使用して正方形を描く必要があります。
http://www.thinkingwriting.qmul.ac.uk/wishees/tutorials/square.gif
opengls GL_LINES または GL_LINES_STRIP を使用して Android で描画する方法を教えてください。
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)
これが私のコードです:
performance - 頂点バッファオブジェクトとglutsolidsphere
「ばね-質量」のようなシステムの3D物理シミュレーションで、球の素晴らしいコレクションを描画する必要があります。
シミュレーションのすべてのステップで表示リストをコンパイルせずに球を描画する効率的な方法を知りたいです(各ステップは、計算に関係するボディの数に応じて、ミリ秒から秒まで変化する可能性があります)。
頂点バッファオブジェクトは、時々更新する必要があるオブジェクトを描画するための効率的な方法であることを読みました。
glutSolidSphereよりも速い方法でOpenGL球を描画する方法はありますか?
c++ - DirectX - 頂点配列を引数としてバッファを作成する
今日、私は DirectX(D3D9) を使い始めました。静的メッシュ クラスを作成するまではすべてうまくいきました。このクラスには、バッファの生成、描画、およびバッファの解放のためのメソッドが含まれています。
問題はバッファ生成機能にあります。関数への引数として頂点配列を渡したい場合、描画時に三角形 (三角形でテスト) は描画されませんが、頂点が関数内で宣言されている場合 (引数)、三角形は描画されません。
頂点クラス:
頂点バッファ生成関数 (動作しません):
頂点バッファ生成関数 (機能します):
何が問題なのかわかりません。助けてくれてありがとう。さらに情報が必要な場合は、私に知らせてください。
python - PyOpenGLでglBufferData()を使用するには?
OpenGLへのPyOpenGL pythonバインディングでglBufferData()をどのように使用しますか?
次のコードを実行すると
glBufferData() を呼び出すと、エラー メッセージが表示されます。
このコードは、緑の背景に赤い四角形を描画することになっています。
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.
c++ - OpenGLバッチ処理:描画呼び出しが配列バッファーの境界を超えるのはなぜですか?
頂点バッファオブジェクトを使用して、OpenGLES2.0で比較的単純な2Dスプライトバッチ処理を実装しようとしています。ただし、ジオメトリが正しく描画されておらず、特定できないエラーが原因で、InstrumentsのGLESアナライザーが次のように報告します。
Draw Call Exceeded Array Buffer Bounds
描画呼び出しは、使用中の配列バッファーの範囲外の頂点にアクセスしました。これは重大なエラーであり、クラッシュする可能性があります。
バッチ処理ではなく、一度に1つの四角形を描画することで、同じ頂点レイアウトで描画をテストしましたが、期待どおりに描画されます。
もっともらしい関連性の他の情報:renderQueueはDrawDescriptorsのベクトルです。私の頂点バッファフォーマットはインターリーブされたposition2、texcoord2:X、Y、U、V ..であるため、BufferStrideは4です。
ありがとうございました。
opengl - glMultiDrawElements: 「インデックス」パラメーターに渡す値 (GLvoid**)
一部のコード (2D シェイプのアウトライン用のデータの VBO の構築を処理します。つまり、単なる三角形メッシュではなく、任意の長さのポリゴン アウトラインにすることができます) を、プリミティブ再起動の使用から の使用に変換する必要がありましたglMultiDrawElements
。実際には自分のアプリケーションにより適していることに気付きglMultiDrawArrays
ましたが、それは質問とは関係ありません (実際、私が賢く移植してglMultiDrawArrays
代わりに使用していれば、この奇妙な問題に遭遇しなかったでしょう)。
必要な値を格納するためのデータを格納するために、2 つのベクトルを組み立てました。
indices
次に、N個の頂点を持つ各ポリゴンに対して と の両方に単一の値をプッシュし、ポリゴンの最初の頂点に対応するIBOのインデックスをどこに挿入しlengths
、その中に頂点の整数を配置しました。ポリゴン。indices
(char*)NULL+index
index
lengths
構造体は、次のようにE_MDEGBuffer
値を渡すために使用されます。glMultiDrawElements
プログラムをテストしたところ、レンダリングが完全に台無しになりました。
最終的に、渡されたハードコーディングされた値を少しいじるglMultiDrawElements
と、インデックス値が 4 倍ずれていることがわかりました。
例として、最初のポリゴンに 3 つの頂点があり、2 番目のポリゴンに 5 つの頂点があるとします。
正しい結果を得るために、私のindices
ベクトルには含まれるもの[0,0xc]
とlengths
含まれるものがあります[3,5]
。
なぜすべきでindices
はないの[0,0x3]
ですか?
windows - D3DPT_TRIANGLELIST を機能させることができません
D3DPT_TRIANGLELIST を使用しようとすると問題が発生します。次のサンプルは本からのものなので、何が問題なのかわかりません。
頂点データ:
描画機能:
ただし、D3DPT_TRIANGLELIST からたとえば D3DPT_LINELIST に変更すると、線が描画されます。D3DPT_POINTLIST を使用すると、DrawPrimite 呼び出しごとに 1 つのポイント (ピクセル) しか描画されません。
助けてくれてありがとう!