1

VBOを作成glDrawElementsし、同じレンダリング サイクル内の呼び出し間で再利用することは可能ですか? (私は奇妙な結果を試してみました)。以下の例は、バインディングなどの欠落です。

初期化コード (一度だけ実行) * : *

glGenBuffers(...)

glBufferData(...)

レンダリング フレーム コード (フレームごとに実行):

glMapBufferOES(...)
//... Update buffer from index 0 to X
glDrawElements(...)
//... Update buffer from index 0 to Y
glDrawElements(...)
[context presentRenderbuffer:GL_RENDERBUFFER_OES];
4

1 に答える 1

0

バッファを使用して描画する前に、バッファのマップを解除する必要があります。マップを解除しないと、おそらくそれが で奇妙な結果が表示される理由ですglDrawElements

http://www.opengl.org/sdk/docs/man/xhtml/glMapBuffer.xml

が呼び出された後glDrawElements、バッファーを再マップして、再度入力することができます。

バッファをすぐに再利用しないことで、パフォーマンスが向上する可能性があります。抽選直後の再マッピングは、抽選が完了するまでおそらくブロックされます。

于 2013-03-07T07:09:58.780 に答える