0

draw*変換フィードバックを開始し、プリミティブ カウントが 0 で、バインドされた VAO が 0 バイト サイズのバッファー オブジェクトを参照するコマンドを発行すると、変換フィードバック オブジェクトが空になり (そのバッファー オブジェクトの内容が何であれ)、DrawTransformFeedback何も描きませんか?描画コマンドを発行せずに、変換フィードバックの開始/終了と同じことが起こると想定しても安全ですか?

4

1 に答える 1

3

「0 バイト サイズのバッファ オブジェクトを参照するバインドされた VAO」の部分全体は、sequitur ではありません。バッファー オブジェクトを VAOに配置する必要はありません。glDisableVertexAttribArrayすべてのアトリビュート配列を-ing する (または何も有効にしない) ことで、すべてのアトリビュート配列をシャットオフできます。

いずれにせよ、仕様はこれについてかなり明確です:

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

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

于 2013-07-17T08:45:30.507 に答える