藍寶書 第二章
1 windows平台使用標頭檔案(根據環境不同會有變化)
#include
#include
#include
2 opengl變數型別與c語言變數型別對應表
表2.1 第81頁
3 api函式命名規則
庫字首+根命令+引數數量+引數型別
glcolor3f
(……)
4 常見rgb復合顏色表
表2.2 89頁
5 單緩衝和雙緩衝
glutinitdisplaymode(glut_******) ->使用glflush()
glutinitdisplaymode(glut_double) ->使用glutswapbuffers()
6 opengl狀態機
使用void glenable(glenum capability) 啟用某一功能/狀態
使用void gldisable(glenum capability) 禁用某一功能/狀態
使用glboolean glisenabled(glenum capability) 查詢某一功能/狀態是否啟用
使用下列函式獲得功能/狀態的引數
void glgetbooleanv(glenum
pname
, glboolean *
params
);void glgetdoublev(glenum
pname
, gldouble *
params
);void glgetfloatv(glenum
pname
, glfloat *
params
);void glgetintegerv(glenum
pname
, glint *
params);
7 儲存和恢復狀態
儲存狀態 void glpushattrib(glbitfield mask)
恢復狀態 void glpopattrib(glbitfield mask)
例如:glpushatrrib(gl_texture_bit|gl_lighting_bit)
8 錯誤資訊
返回錯誤 glenum glgeterror(void)
返回錯誤詳細資訊 const glubyte* gluerrorstring(glenum errorcode)
表2.3 錯誤資訊列舉 105頁
9 獲取字串
const glubyte *glgetstring(glenum name)
const char* version = (const char*)glgetstring(gl_version); 獲取版本號
glgetstring(gl_vendor); 返回opengl的提供廠商。
glgetstring(gl_renderer); 返回執行opengl渲染的裝置,通常就是顯示卡的名字。
glgetstring(gl_extensions); 返回所支援的所有擴充套件,每兩個擴充套件之間用空格隔開。
10 控制行為
void glhint(glenum target, glenum mode)
參考
11 opengl擴充套件(對其他裝置/平台的支援)
略……
**:
例2.1
#include #include #include #include void renderscene(void)
///// set up the rendering state
void setuprc(void)
///// main program entry point
int main(int argc, char* argv)
例2.2
#include #include #include #include void renderscene(void)
void setuprc()
void changesize(glsizei w, glsizei h)//視窗大小改變函式---2d
int main(int argc,char* argv)
例2.3 跳動方塊
#include #include #include #include //初始化方塊位置和大小
glfloat x1 = 0.0f;
glfloat y1 = 0.0f;
glfloat rsize = 25;
//每一步x y移動的方向
glfloat xstep = 5.0f;
glfloat ystep = 5.0f;
glfloat windowwidth;
glfloat windowhight;
void renderscene(void)
void timerfunction(int value)
void setuprc()
void changesize(glsizei w, glsizei h)
int main(int argc, char* argv)
openGL學習筆記(2)
x,y,z 組合起來表示兩個重要的值,乙個是方向,乙個是向量 多邊形面積公式 float s 0.0 for i 0 i0 順時針給予點 a是背面的面積 a 0 ab bc ac ab ac cb 共同起點指向被減 已知兩個非零向量a,b 作 oa a ob b 則角aob稱為向量a和向量b的夾角 ...
openGL學習筆記2(顏色)
opengl支援兩種顏色模式 一種是rgba,一種是顏色索引模式。無論哪種顏色模式,計算機都必須為每乙個畫素儲存一些資料。不同的是,rgba模式中,資料直接就代表了顏色 而顏色索引模式中,資料代表的是乙個索引,要得到真正的顏色,還必須去查索引表。ex void mydisplay void glco...
OpenGL學習筆記
我是一名ios開發者,opengl是乙個比較重要的技術。所以就此開啟我的菜鳥之路。opengl open graphics library 是乙個跨程式設計語 言 跨平台的程式設計圖形程式接 它將計算機的資源抽象稱為乙個個opengl的物件,對這些資源的操作抽象為乙個的opengl指令.direct...