1. 程式人生 > >opengl緩衝區物件,glBufferSubData,glMapBuffer

opengl緩衝區物件,glBufferSubData,glMapBuffer

4.更新緩衝區物件的資料值
    方法一:假設已經在用用程式的一個緩衝區中準備了相同型別的資料,glBufferSubData()將用我們提供的資料替換被繫結的緩衝區物件的一些資料子集。
            void glBufferSubData(GLenum target,GLuint offset,GLsizei size,const GLvoid *data); 用data 指向的資料更新 與target 相關聯的當前繫結緩衝區物件中從offset開始的size個位元組資料。
             
    方法二:允許靈活的選擇需要更新的資料。
            GLvoid *glMapBuffer(GLenum target,GLuenum access):返回一個指向緩衝區物件的指標,可以在這個緩衝區物件中寫入新值及更新之後,再呼叫GLboolean glUnMapBuffer(GLenum target)表示已經完成了對資料的更新,取消對這個緩衝區的對映。如果只需要更新所需範圍內的資料值,也可呼叫GLvoid *glMapBuffwerRange(GLenum target,GLintptr offset,GLsizeiptr length,GLbitfield access)