每日乙個OpenGL API 二

2021-07-06 05:06:46 字數 822 閱讀 1243

glvertexatrribpointer

void glvertexattribpointer(	gluint index,

glint size,

glenum type,

glboolean normalized,

glsizei stride,

const glvoid * pointer);

第一次見到這個函式是《opengl權威指南》裡面,它在裡面的作用就是在向頂點著色器輸入資料的時候,就用這個函式將shader中的in型別的變數關聯到同乙個頂點屬性陣列。看不懂這個句,還真看不懂。我自己也不懂,先把這些記錄著,我相信我總有懂的一天。

引數1 :

index : 設定index位置對應的資料,我看了一下例子,是shader中宣告的傳遞進去的資料值。

引數2:

size:表示每個頂點所需要更新的分量數目,這個值必須是1,2,3,4或者gl_rgba,這個分量數目是什麼呢,也就是定點的(x,y,z,w)

引數3:

type:指定了陣列中每個元素的型別。(gl_byte, gl_unsigned_byte, gl_short,gl_unsigned_short, gl_int, gl_unsigned_int, gl_fixed,gl_half_float, gl_float, gl_double)

引數4:

normalized:表示頂點資料在儲存之前是否需要歸一化。

引數5:

stride:陣列中每兩個元素的之間的偏移值。

引數6:

pointer:從起始位置開始計算整個陣列的偏移值。

每日乙個OpenGL API 一

首先看看函式原型 void glbufferdata glenum target,glsizeiptr size,const glvoid data,glenum usage 建立快取區物件之後,就需要空間去保留這些資料,那麼glbufferdata就來完成這個任務。官方文件是這樣寫的 create...

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