OpenGL基礎知識(一)
阿新 • • 發佈:2019-01-22
OpenGL的基本資料型別
為了使OpenGL能夠更好的從一個平臺移植到另一個平臺,OpenGL定義了它自己的資料型別。但是這些型別都可以對映到正常的C/C++資料型別。儘管如此,各種不同的編譯器和作業系統可能會使用自己平臺相關的資料型別的大小和佔用的儲存空間。使用OpenGL定義的型別可以避免因為型別的不一致所造成的影響。
下圖是OpengL中定義的資料型別:
以下表格是OpenGL中的資料型別和C中的資料型別的對照:
下面對錶格中的一些資料型別進行簡單的說明。
OpenGL中的基本資料型別以GL開頭,後面接的便是C資料型別。還有一些帶u的表示的是無符號的資料型別。GLsizei表示這種型別的長度或深度。GLenum表示列舉變數,GLbitfield表示那些包含二進位制位段的變數。
在使用浮點型字面值時標準C/C++編譯器編譯器會有型別提升的處理,所以最好是顯示指定型別。因為在OpenGL中內部處理的浮點型的資料,如果不做處理,OpenGL會想將double型的資料轉換成float型,這會對效能造成一定(有可能非常大)的影響。
OpenGL中的函式名約定
OpenGL中的函式採用以下這種函式命名規則:
<函式庫字首><函式名><可選引數型別和數量>
如:glColor3f(...), glColor4f(...), glColor3i(...)
......