2013-04-14 134 views
0

由於OpenGL繪圖調用受到最近綁定的VBO的影響,如果您還想繪製現場動態創建的不在VBO中的頂點,如何解除綁定VBO?如何在有和沒有VBO的情況下混合繪圖

我看過的例子都沒有展示如何禁用VBO緩衝區,就像您使用屬性數組指針一樣。也許這不是特別常見,因爲大多數應用程序要麼在VBO中擁有所有東西,要麼什麼也不是,可能混合這兩種情況並不常見。

回答

0

要解除綁定VBO你只需調用glBindBuffer設置爲0

零值被保留第二個參數,但對於 每個緩衝器對象目標沒有默認緩衝對象。相反,緩衝區有效設置爲零 取消綁定先前綁定的任何緩衝區對象,併爲該緩衝區對象目標恢復客戶端內存使用量 。

然後你必須綁定另一個VBO或從客戶端內存中繪製。

0

還記得在混合VBO和非VBO時禁用屬性指針。當您撥打:

GLES20.glEnableVertexAttribArray(positionHandle); 

應該後跟一個:

GLES20.glDisableVertexAttribArray(positionHandle); 

一旦你與繪圖完成,這樣就可以與其他繪製方法(VBO或非VBO)重新啓用。

相關問題