首先看看函式原型:
void glbufferdata(glenum target,
glsizeiptr size,
const glvoid * data,
glenum usage);
建立快取區物件之後,就需要空間去保留這些資料,那麼glbufferdata就來完成這個任務。官方文件是這樣寫的:
creates and initializes a buffer object's data store.
引數1:
target:指定快取區物件的型別。它必須是下面的值:
(官網)
buffer binding target
purpose
gl_array_buffer
vertex attributes
gl_atomic_counter_buffer
atomic counter storage
gl_copy_read_buffer
buffer copy source
gl_copy_write_buffer
buffer copy destination
gl_dispatch_indirect_buffer
indirect compute dispatch commands
gl_draw_indirect_buffer
indirect command arguments
gl_element_array_buffer
vertex array indices
gl_pixel_pack_buffer
pixel read target
gl_pixel_unpack_buffer
texture data source
gl_query_buffer
query result buffer
gl_shader_storage_buffer
read-write storage for shaders
gl_texture_buffer
texture data buffer
gl_transform_feedback_buffer
transform feedback buffer
gl_uniform_buffer
uniform block storage
引數2:
size:儲存資料的總量。
引數3:
data:需要複製到儲存空間的資料,若為null表示沒有資料需要複製。
引數4:
usage:資料分配之後的讀取和寫入方式,他必須是下面的值
gl_stream_draw, gl_stream_read, gl_stream_copy, gl_static_draw, gl_static_read, gl_static_copy, gl_dynamic_draw, gl_dynamic_read, or gl_dynamic_copy.
每日乙個OpenGL API 二
glvertexatrribpointer void glvertexattribpointer gluint index,glint size,glenum type,glboolean normalized,glsizei stride,const glvoid pointer 第一次見到這個函...
linux 每日乙個命令
編寫shell指令碼 hello.sh bin bash the first program echo e e 1 34m hello world e 0m 執行指令碼賦予執行許可權,直接執行 chmod 755 hello.sh hello.sh 通過bash呼叫執行指令碼 bash hello....
每日乙個Linux命令 free
free m 以m為單位來顯示記憶體數值,預設時free的單位為kb 姑且我們把上圖看成乙個陣列 free output,以下簡稱fo 首先,第1行為列名,total 物理記憶體總量,used 已經使用掉的記憶體,free 剩餘可用記憶體,shared 程序共享的記憶體占用 其值總是0 buffer...