フィードバックと空のバッファオブジェクトを変換します -- opengl フィールド と opengl-3 フィールド 関連 問題

transform feedback and empty buffer objects












0
vote

問題

日本語

0プリミティブカウントを使用して0プリミティブカウントを使用して、変換フィードバックの開始と draw* コマンドと0バイトサイズのバッファオブジェクトを参照するバウンドVAOを発行して、空の変換フィードバックオブジェクトが発生すると仮定しています。 DrawTransformFeedback が何も描画されないように、バッファオブジェクトがどのコンテンツに持つことができますか。描画コマンドを発行することなく、開始/終了変換フィードバックが発生したと仮定するのは安全ですか?

英語

Is it safe to assume that starting transform feedback and issuing a draw* command with 0 primitive count and a bound VAO referencing a 0 byte-sized buffer object, will result in an empty transform feedback object (whatever content its buffer object could have) so that a DrawTransformFeedback will not draw anything? Is it safe to assume that the same would happen starting/ending transform feedback without issuing any draw command?

</div
     
     
     

回答リスト

3
 
vote
vote
ベストアンサー
 

「ボマルを参照する境界VAO」は、非順序である。 任意のバッファオブジェクトをVAOに配置する必要はありません。 glDisableVertexAttribArray

いずれにせよ、スペックはこれでかなり明確です:

頂点カウントは、変換フィードバック動作中に選択された頂点ストリームに記録された頂点の数からのものであることに注意してください。選択された頂点ストリームに属する出力が記録されていない場合、完全なプリミティブが選択されたストリームに放出されたとしても、対応する頂点カウントはゼロになります。

頂点が記録されていない場合、頂点数はゼロになります。

 

The whole "bound VAO referencing a 0 byte-sized buffer object" part is a non-sequitur. You don't have to put any buffer objects in a VAO; you can shut off all of the attribute arrays by glDisableVertexAttribArray-ing all of them (or just not enabling any).

In any case, the spec is pretty clear on this:

Note that the vertex count is from the number of vertices recorded to the selected vertex stream during the transform feedback operation. If no outputs belonging to the selected vertex stream are recorded, the corresponding vertex count will be zero even if complete primitives were emitted to the selected stream.

If no vertices were recorded, then the vertex count will be zero.

</div
 
 
         
         

関連する質問

0  OpenGL 3.2 2Dレンダリングの問題  ( Opengl 3 2 2d rendering issues ) 
Rendering Artifact http://byte-werx.com/rendering-Artifact.png? a> 2つのスプライトバッチを作成し、私の画面の同じフレーム半分で2回描画しようとしているとき(またはその周囲には失われます...

5  GeForce 9400のOS XでのOpenGL 3プログラミング方法  ( How to do opengl 3 programming on os x with a geforce 9400 ) 
GeForce 9400グラフィックカードを搭載したMacBook Proを持っています。ウィキペディアは、このカードがOpenGL 3をサポートしていると述べた。 しかしOS X 10.6に出荷されたヘッダーとライブラリはOpenGL 2のみされているよう...

0  OpenGLは、Core ProfileのGlultExattribで描画できません  ( Opengl cannot draw with glvertexattrib in core profile ) 
OpenGL 3.1を使用したいです。 私は2つのグラフィックカードを含むMacBook Proを使用しています:NVIDIA GeForce GT 650M 1024 MB、およびIntel HDグラフィックス4000 1536 MB。それらは両方ともOp...

1  OpenGL 3.1でテクスチャに適切にレンダリングする方法  ( How to properly render to a texture in opengl 3 1 ) 
これは、デフォルトのフレームバッファ以外のものに初めてレンダリングすることができ、私の検索はFBOSがこのタスクのために行く方法であることを示唆しています。実際、彼らは私が見たものから唯一の方法であるようです - 私がこれに間違っているなら私を修正してください...

20  OpenGLの低レベルのパフォーマンスの質問  ( Opengl low level performance questions ) 
この科目は、最適化の問題と同様に、たくさんヒットしますが、私は私が欲しいものを見つけることができませんでした。 多くのチュートリアル、さらには質問が同様のヒントを持っています。一般的にカバーする: GLフェイスカルリング(Scene LogicではなくOp...

1  vbosを使ってスクエアをレンダリングします  ( Using vbos to render a square ) 
VBOSがどのように使用されるのかを理解するのに少し問題があります。私は:と同等のイメージを取得しようとしていました <事前> <コード> glMatrixMode (GL_PROJECTION); glLoadIdentity (); gluPerspec...

0  関数/クラスメンバーは何ですか?SFML 2.5.1で使用することができます  ( What is the function class member can i use in sfml 2 5 1 to load glad ) 
SFML 2.5.1アプリで喜んで初期化するにはどうすればいいですか?それをするための関数またはクラスのメンバーはありますか? 私は次の Leveleopenglのチュートリアル(しかし、GLFWの代わりにSFMLを含む) 編集: 明確にするために、私は喜ん...

0  SDLでOGLメジャーバージョンを設定すると、エラーが発生します  ( Setting ogl major version in sdl leads to error ) 
私は現在C.でOpenGLを降ろそうとしています 私は現在のコードを持っています: <事前> <コード> #include <stdio.h> #include <stdlib.h> #define null (void*)0 #define GL3_PR...

2  OpenGL 3プログラムブランク画面  ( Opengl 3 program blank screen ) 
私は古いコードのいくつかをOpenGL 3に変換してきました、そして私はそれのほとんどが働いていました。 OpenGLデバッグプログラムによって検証されているように、すべてのVAOS、VBOSなどがうまく機能しています。また、私のシェーダはちょうどいいですが、...

15  OpenGL FBOは、IntelとNvidiaの間に矛盾しています  ( Opengl fbo blitting inconsistent between intel and nvidia ) 
OpenGLのシーンを低解像度でフレームバッファにレンダリングしています。それから私はこのバージョンを画面全体に描画するつもりです(gl_nearestで上限されています)。 Texture Blitts(GlblitFrameBuffer)を使用してこれを...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有