每日乙個OpenGL API 一

2021-07-06 04:19:36 字數 1581 閱讀 9246

首先看看函式原型:

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_buffervertex attributes

gl_atomic_counter_bufferatomic counter storage

gl_copy_read_bufferbuffer copy source

gl_copy_write_bufferbuffer copy destination

gl_dispatch_indirect_bufferindirect compute dispatch commands

gl_draw_indirect_bufferindirect command arguments

gl_element_array_buffervertex array indices

gl_pixel_pack_bufferpixel read target

gl_pixel_unpack_buffertexture data source

gl_query_bufferquery result buffer

gl_shader_storage_bufferread-write storage for shaders

gl_texture_buffertexture data buffer

gl_transform_feedback_buffertransform feedback buffer

gl_uniform_bufferuniform 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...