對於複雜的圖形,有成千上萬個頂點,每次重新整理螢幕都於重新計算頂點,讓cpu執行重複的工作,浪費了cpu資源和執行速度的下降。如果把計算好的結果存放到顯示列表中,需要重新整理螢幕時,只需要把資料重新整理到顯示卡裡就可以了,節省cpu計算資源。
gluint glgenlists (glsizei range);
glsizei range:指定要分配幾個顯示列表。
返回的是分配的若干連續編號中最小的乙個(即起始號)。
gluint minnum2= glgenlists (2)
;// 分配2個顯示列表
gluint minnum3 = glgenlists (3)
;// 分配3個顯示列表
void glnewlist (gluint list, glenum mode);
gluint list:當前正在操作的顯示列表號。
glenum mode:gl compile和gl compile and execute,
gl compile宣告當前顯示列表只是裝入相應opengl語句,不執行;
gl compile and execute表示在裝入的同時,執行一遍當前顯示列表。
glnewlist
(list, gl_compile)
;glcolor3f
(1.0f
,0.0f
,0.0f);
glvertex2f
(0.0f
,0.0f);
glend()
;
void glcalllists (glsizei n, glenum type, const glvoid *lists);// 呼叫一組
void glcalllist (gluint list);// 呼叫乙個
glsizei n:表示顯示列表的個數
glenum type,:表示lists的型別,gl_byte,gl_unsigned_byte,gl_short,gl_unsigned_short,gl_int,gl_unsigned_int,gl_float。
const glvoid *lists:顯示列表陣列
gluint lists=
;// 起始值為10
gllistbase(10
);// 則實際上呼叫的是編號為11, 13, 14, 18的四個顯示列表。
glcalllists(4
, gl_unsigned_int, lists)
;
void gldeletelists (gluint list, glsizei range);
gluint list:指定起始號
glsizei range:指定要分配幾個顯示列表。
OpenGL教程翻譯 第七課 旋轉變換
接下來的變換是旋轉,就是說給定乙個角度和點,我們將點繞著乙個座標軸旋轉。我們總是變化 三個裡面的兩個,而不讓第三部分變化。這意味著,旋轉路徑總在三個座標軸平面中的乙個之中 繞z軸的是xy面 繞x軸的是yz面 繞y軸的是xy面。還有許多複雜的旋轉轉變可以讓你繞任意乙個向量旋轉,但是眼下我們並不需要這些...
opengl 教程 8 物體縮放
縮放矩陣比較簡單,它的目的就是在三個軸 x,y,z 方向,對物體長度進行縮放 或者說,對頂點在三個軸的分量進行縮放 當然也可以選擇某個軸方向來縮放。對物體進行縮放的原因主要是用來匹配世界空間不同物體的大小,因為三維物體建模都是在模型空間,通常 x,y,z 的範圍都是 0,1 而世界空間中,物體有大有...
廖大python實戰教程第七天
使用模板 mvc的全名是model view controller,是模型 檢視 控制器的縮寫,是一種軟體設計典範。使用mvc的目的是使m和v的 分離,從而使乙個程式可以有不同的表現形式。這個地方在所難免。實在沒想到用ide照著敲都會有一些不注意的小細節錯誤。一開始頁面是 404 not found...