您好,登錄后才能下訂單哦!
1、創建緩沖區對象標示符
glGenBuffers(GLsizei n , GLuint * buffers),
生成n個當前未使用的緩沖區對象標示符(注意是標示符,不是緩沖區對象,緩沖區對象(即以下的target)包括GL_ARRAY_BUFFER(頂點數據),GL_ELEMENT_ARRAY_BUFFER(表示索引數據),GL_PIXEL_UNPACK_BUFFER(表示傳遞給Opengl的像素數據),GL_PIXEL_PACK_BUFFER(表示從opengl獲取的像素數據),GL_COPY_READ_BUFFER和GL_COPY_WRITE_BUFFER(表示在緩沖區之間復制數據),GL_TEXTURE_BUFFER(作為紋理緩沖區存儲的紋理數據)、GL_TRANSFORM_FEEDBACK_BUFFER(表示執行一個變換反饋著色器的結果)、或者GL_UNIFORM_BUFFER(表示統一變量值))。
2、創建激活緩沖區對象
glBindBuffer(GLenum target,GLuint buffer)
完成以下三個任務之一:1、當buffer時一個首次使用的非零無符號整數時,他就創建一個新的緩沖區對象,并把buffer分配給這個緩沖區對象;2、當綁定到一個以前創建的緩沖區對象時,這個緩沖區對象變成為活動的緩沖區對象;3當綁定到一個值為0的buffer時,opengl就會停止緩沖區對象。
3、數據分配和初始化緩沖區對象
glBufferData(GLenum target, GLSizeiptr size,const GLvoid *data, GLenum usage);
target代表緩沖區對象;size緩沖區大小,data用于初始化緩沖區對象,若為null則保留size個單位的空間內存,但不會對他進行初始化,usage代表讀取寫入方式
4、更新緩沖區對象的數據
glBufferSubData(GLenum target, GLintptr offset,GLsizeiptr size, const GLvoid* data)
代表用data指向的數據更新域target相關聯的當前綁定緩沖區對象中從offset開始的size個字節數據。
GLvoid* glMapBuffer(GLenum target,GLenum access)
返回指向與target相關聯的當前綁定緩沖區對象的數據存儲,在完成數據的存儲訪問后,調用glUnmapBuffer(GLenum target)取消緩沖區映射。
5、清除緩沖區對象
void glDeleteBuffers(GLsizei n,const GLuint * buffers);
完成對緩沖區對象的操作后,可以釋放它的資源,并使它的標示符可以由其他緩沖區對象使用。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。