OpenGL學習02 函式語法與命名規範

2021-06-27 21:51:24 字數 1293 閱讀 1587

opengl函式的命名規則函式的開頭字首為「gl」,並把組成函式的每個單詞的首字母用大寫形式表示(例如,glclearcolor())。類似地,opengl還定義了一些以字首gl_開頭的常量,所有的單詞都使用大寫形式,並以下劃線分隔(例如gl_color_buffer_bit)。

opengl函式中有一些似乎不相關的字母(例如glcolor3f()和glvertex3f()中的「3f」)。確實,glcolor3f()函式名中的「color」部分就足以定義這個用於設定當前繪圖顏色的函式。但是,opengl定義了這個函式的多個不同版本,以便使用不同型別的引數。具體地說,這個字尾中的「3」表示這個函式接受3個引數。color函式還存在接受4個引數的版本。這個字尾中的「f」表示這些引數都是浮點數。opengl之所以為同乙個函式定義了不同引數型別的版本,是為了允許使用者根據自己的資料格式向opengl傳遞引數。

有些opengl函式可以在它們的引數中接受多達8種不同的資料型別。下表出了一些字尾字母,它們分別指定了opengl的iso c實現所提供的資料型別。此外,下表還列出了對應的opengl型別定義。我們所使用的opengl實現可能並不完全與這種方案相對應。例如,opengl的c++或ada實現就不需要完全遵循這種方案。

因此,下面這兩個函式呼叫

是等價的。只不過第乙個函式把頂點的座標指定為32位的整數,第二個函式則把它們指定為單精度的浮點數。

glvertex2i(1, 3);  

glvertex2f(1.0, 3.0);

注意:不同的opengl實現在選擇用哪些c資料型別來表示opengl資料型別方面存在一些差異。如果堅持在自己的應用程式中使用opengl定義的資料型別,那麼在不同的opengl實現之間移植**時,就可以避免型別不匹配的問題。

有些opengl函式名的最後還有乙個字母v,它表示這個函式所接受的引數是乙個指向值向量(或陣列)的指標,而不是一系列的單獨引數。許多函式既有向量版本也有非向量版本,也有一些函式只接受單獨的引數,另外還有一些函式要求至少有1個引數被指定為向量。下面這幾行**顯示了既可以使用向量版本也可以使用非向量版本的函式來設定當前的繪圖顏色:

glcolor3f(1.0, 0.0, 0.0);  

glfloat color_array = ;

glcolor3fv(color_array);

最後,opengl還定義了glvoid型別。這種型別最常用於那些接受指向值陣列的指標為引數的opengl函式。

swift 函式語法 格式

import uikit swift中函式的格式如下 func 函式名 引數列表 返回值型別 func 是關鍵字,多個引數列表之間使用逗號隔開,也可以沒有引數 使用箭頭 指向返回值型別 如果函式沒有返回值,返回值為void,並且 可以省略 1沒有引數沒有返回值的方法 func about1 void...

Python 常用函式,語法

這裡記錄一些我用python深度學習的七七八八常用函式或者小技巧啥啥的吧 畢竟好記性不如爛筆頭 嗯 會再更噠 1.strip string1.strip string2 一句話來說就是去除字串string1裡面包含的字串行string2 str 00000003210runoob0123000000...

筆記 TypeScript函式語法

宣告方式function 函式名 資料型別let 函式名 function 資料型別function 函式名 引數1 資料型別,引數2 資料型別 返回值資料型別function 函式名 引數1 資料型別,引數2 資料型別 返回值資料型別function 函式名 引數1 資料型別,引數2 資料型別 預...