2013-09-28 42 views
1

我目前正在編寫一個OpenGL程序來創建一個頂點緩衝區,只用一次繪製一批三角形。什麼時候可以安全刪除一個頂點緩衝區

我需要多久保持它。現在我只保留它,直到下一批繪圖批處理開始,但我不確定這是否安全。 glDeleteBuffers中的文檔有點不清楚。

從外觀上看,與着色器不同,它意味着緩衝區立即被刪除。 當緩衝區當前用於渲染還是延遲實際刪除時,這是否也會發生?

那麼,在不累積太多緩衝區的情況下做到這一點最安全的方法是什麼?

回答

3

您可以在調用glDraw…之後立即解除綁定並刪除緩衝區對象。這是一個指定的OpenGL要求,在實現後只要需要就跟蹤所有內部引用,然後在內部進行清理。這不僅適用於glDelete…,而且適用於修改數據的每個OpenGL調用。

相關問題