問題タブ [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.
c# - MonoTouch / OpenGL ES:GL.DrawElementsで描画する場合の例外
Opeでメッシュを描画しようとしています。GL.DrawElementsを呼び出すと、次の例外が発生しました。
それが描画コードです:
そして、これが初期化のコードです:
編集:フォーマットの問題...そしてスタックオーバーフローは私が何かをコミットすることを望んでいません。
c++ - Direct3D C++ テクスチャ マッピング
Direct3D C++ でのテクスチャ マッピングを手伝ってくれる人はいますか。基本的なゲームを作成し、環境にテクスチャを適用したいと考えています。私は数多くのオンラインチュートリアルを見てきましたが、これまでのところうまくいきませんでした
描画コード用のカスタム頂点を作成しています:
これは私が正方形を描く方法です:
バッファは次のとおりです。
そしてここに正方形があります:
環境全体のテクスチャリングに進むことができるように、正方形をテクスチャリングする方法を知りたいだけですか?
java - JOGLでCADプログラムを作成しました。これは、glu quadricを入力するまではうまく機能し、その後、照明がオフになります。
CADソフトウェア(Protocase Designer)を作成しましたが、うまく機能していました。常にクラッシュするATIカードを除きます。ディスプレイリストは非推奨であり、ATIカードがそれらを完全にサポートしていない可能性があるという理論に基づいて、ディスプレイリストを頂点バッファオブジェクトに置き換えることにしました。私はそれをほとんど機能させていますが、次のコードを入力すると、何らかの理由で照明がすべて台無しになります。誰もが理由を知っていますか?頂点バッファオブジェクトのレンダリングの前または後にコードを配置するかどうかは関係ありません。
なぜ何かアイデアはありますか?これは、ディスプレイリストのバージョンを台無しにすることはありませんでした。私がレンダリングしているのは、gluのテッセレーターを使用した穴のあるエンクロージャーです。
ありがとうございました!
c++ - 異なる D3DPOOL によって実装された Direct3D VertexBuffer Lock() および Unlock() 関数
IDirect3DVertexBuffer9 にはそのメソッドがあります
これらの関数の内部実装がわかりません。私は次を期待しています。
「Lock」メソッドは、VertexBuffer のビデオ メモリを ppbData にマップします。はるかに優れたパフォーマンスが得られます。
'Lock' メソッドは、system-mem を割り当て、それを指すように ppbData を作成します。そして、「UnLock」メソッドは、そのメモリを実際のビデオ メモリにコピーします。ハードウェアに抽象化レイヤーを配置することによるこのアプローチは、違いを排除します。
私はそれを推測します:「D3DPOOL_SYSTEMMEM」モードでは、方法2で実装されました.「D3DPOOL_DEFAULT」モードでは、方法1で実装されました.
しかし、すべての D3DPOOL モードでどのように実装されているかはわかりません。助けて~~
objective-c - OpenGL ES 1.1 頂点バッファ オブジェクトが機能しない
OpenGL ES 1.1 を使用して iPhone ゲームを開発しており、パフォーマンスを低下させずに 500 個以上のパーティクルをレンダリングするために、頂点バッファー オブジェクトを使用する必要があります。
私のゲームは非 VBO メソッドを使用して正常に描画できましたが、VBO を組み込むことを試みたので、何も描画されなくなりました。
私が間違っていることを特定し、正しい例を提供してください。
以下で構成されるTexturedQuadというクラスがあります。
TexturedQuad.mでは、頂点バッファーが作成されます。
上記の VBO 作成メソッドは、各 TexturedQuad インスタンスを初期化 するカスタムAtlasLibraryクラスによって呼び出されます。
まず、頂点は次の形式で配置されます。
第 2 に、テクスチャ座標は次の形式で配置されます (OpenGL ES のミラー イメージの傾向を説明するために反転されます)。
...次に、VBO 作成メソッドが呼び出されます (AtlasLibrary で)
今は肉とじゃがいも。SceneObjectクラス。SceneObjects は、レンダリング可能なゲーム内のオブジェクトです。それらは TexturedQuad インスタンスを参照し、回転、移動、およびスケールに関する情報を含みます。
SceneObject の render メソッドは次のとおりです。
私のインデックス配列が正しく構造化されていないか、glDrawElements(..) 関数が正しく呼び出されていないのではないかと強く感じています。
この質問に答えるには、次のことをお願いします。
- OpenGL ES が SceneObjects を描画しない原因となる間違った操作を特定します。
- 私がやろうとしていることを行う正しい方法を提供してください(私のフレームワークに従ってください)
- 役立つ可能性のある提案やリンクを提供してください(オプション)
本当にありがとう!
flash - VertexBuffer3D を使用して階層表示構造内のオブジェクトを操作する方法は?
私が達成しようとしていることをよりよく説明するために、簡単な例を次に示します。
シナリオ 1 : 一部の 3D コンテナー オブジェクト内に、2 つのキューブを追加したいと考えています。これらの 2 つの立方体を追加した後、コンテナーの位置、回転、スケールも変換したいと思います。
シナリオ 2 : 3D キャラクターのボディは、多くの階層的な子 (およびサブ子) で構成され、それぞれがアニメーションの過程でさまざまな変換を行います。
だから私の質問は:
これらの個々の 3D オブジェクト変換を効率的に計算するにはどうすればよいですか? 1つだけでこれを行うことさえ可能VertexBuffer3D
ですか? それともVertexBuffer3D
、各オブジェクトを追跡するためにいくつか必要ですか? 複数を使用するVertexBuffer3D
と、限界に達する可能性があるようです (ただし、Stage3D
/Context3D
ドキュメントを十分に読んでいないため、確実に知ることができません)。
iphone - OpenGLES1.1の頂点バッファオブジェクトを使用した描画が機能しない
OpenGLコードは機能していますが、パフォーマンスを少し改善しようとしています(古いデバイスでフレームレートを少し上げたい)。頂点バッファオブジェクトを使用してこれを実行しようとしています。
私のコードは、テクスチャが適用された一連の360GL_TRIANGLESを描画するだけです。座標とテクスチャ座標をデータ構造に織り込みます。
これが私の初期化の関連部分です
実際のVBOに保存するために、2つの方法を試しました(どちらも同じ結果になりました)
次に、バッファをバインドします
そして最後に描画を実行します
VBOがない場合、描画は正常に機能します。上記のVBOコードを追加すると、描画が適切な場所になくなり(数ピクセルオフセット)、アプリ全体がロックされます。何か案は?
flash - 使用するProgram3Dごとに新しいVertexBuffer3DとIndexBuffer3Dを作成する必要がありますか?
いくつかのProgram3D
オブジェクトがある場合(それぞれが独自のレンダリングタスクを担当する独自のVertex-ShaderとFragment-ShaderVertexBuffer3D
を備えています)、新しいをインスタンス化しIndexBuffer3D
て、によって使用される頂点データ形式にのみ関連するデータを格納するようにする必要がありますか?それらの対応するProgram3D
?
たとえば、次のようなさまざまな頂点データ形式でクワッドを定義することを計画している場合:
VertexBuffer3D
1つを作成し、フォーマットAIndexBuffer3D
を保存し、もう1つをフォーマットBに、さらにもう1つをフォーマットCに保存する必要がありますか?または、さまざまな形式を同じものの中に混ぜて、三角形を描くために1つを巧妙に(または混乱させて!)使用することはできますか?VertexBuffer3D
IndexBuffer3D
flash - Context3DVertexBufferFormat.BYTES_4を使用する場合、1つのフィールドの値の範囲はどのくらいですか?
バイト配列メソッドを使用して頂点バッファーにデータを入力すると、次のようになります。
次に、vertex-buffer属性を次の形式で設定します。
頂点属性のフィールド(この場合、 va0.x、va0.y、va0.z、va0.w )で可能な値の範囲(0〜255?0.0〜1.0?など)はどれくらいですか?ByteArray
オブジェクトに書き込まれるデータ型( writeFloatとwriteUnsignedInt)によって異なりますか?
android - OpenGL ES VertexArray と Android で正しく描画されない
私は、OpenGL ES 1 を使用し、「BufferPool」を使用して小さなゲーム デモに取り組んでいます。これは、基本的に、すべての頂点、色、および texcoord データを格納する直接 ByteBuffer のファンシー インターフェイスです。正しく描画するのに問題があります。私はopenglの状態を間違って設定しているに違いありませんが、私はOpenGLにかなり慣れていないので、それが何であるかわかりません。助けていただければ幸いです:)
コード: http://pastebin.com/bw3eM0TW
BufferPool とレンダリングに関連するかなりの量のコードがあるため、pastebin に配置しました。