QT OPENGL opengl的一些基本函式

2021-10-24 19:32:02 字數 2528 閱讀 5286

(1)opengl基本函式的定義規則說明:

opengl的庫函式命名方式:字首+函式名+字尾

字首:gl、glu、glx或aux,表示此函式分屬於基本庫、實用庫、x視窗擴充庫或輔助庫

字尾:是函式傳參型別的簡寫,例如i代表int,f代表float.s代表short,d代表double,v代表指標

glvertex2i(1,5);

glvertex3f(1.0,5.0,2.0);

上面例子中函式字尾還存在2、3、4的數字,分別代表2維、3維、4維,也就是引數的個數

(2)opengl的圖形

(2.1)點 glvertex×

//設定點的大小,預設值為1.0f,單位為「畫素」

glpointsize(5.0f);

opengl中描述乙個面(線、點)的方法是glbegin/glend命令組:

glbegin(gl_points); //圖元常量,代表點

glvertex(頂點1);

glvertex(頂點2);

…… glend();

(2.2)線 glvertex×

//設定線的寬度

gllinewidth(5.0f);

opengl中描述乙個面(線、點)的方法是glbegin/glend命令組:

glbegin(gl_lines); //圖元常量,代表線,連線每一對相鄰定點而得到一組直線段

glvertex(頂點1);

glvertex(頂點2);

glvertex(頂點3);

glvertex(頂點4);

說明:如果使用圖元:gl_line_strip,則會將所有的點連成折線;

如果使用:gl_line_loop,則會將所有的點連城乙個閉合的線段;

如果使用:glenable(gl_line_stipple),則會啟動虛線;關閉虛線使用gldisable(gl_line_stipple)

(2.2)面-三角形,以內部填充的方式畫三角

三角的圖元常量有三種:gl_********s、gl_********_strip、gl_********_fan,

glvertex2iv(p1); //頂點1

glvertex2iv(p2); //頂點2

glvertex2iv(p3); //頂點3

glvertex2iv(p4); //頂點4

glvertex2iv(p5); //頂點5

glvertex2iv(p6); //頂點6

glvertex2iv(p7); //頂點7

glvertex2iv(p8); //頂點8

其中gl_********s:會生成多個三角形,每相鄰三個頂點生成乙個三角形

gl_********_strip:其填充方式是;v0v1v2、v1v2v3、v2v3v4、v3v4v5,不包括前乙個點

gl_********_fan:是始終以第乙個點為起始點,擴散式組合:v0v1v2、 v0v2v3 、v0v3v4

(2.2)面-多邊形

gl_quads:跟gl_********s類似,每隔4個點組成乙個四邊形

gl_quad_strip:跟gl_********_strip類似

gl_polygon:多邊形。

繪製矩形還可以使用:

glrectf(左上角x,左上角y,右下角x,右下角y);
(3)opengl的顏色

(3.1)rgba模式-glcolor*

void glcolor3f(glfloat red, glfloat green, glfloat blue);

void glcolor4f(glfloat red, glfloat green, glfloat blue, glfloat alpha);

採用f和d做字尾的函式,以1.0表示最大的使用。

採用b做字尾的函式,以127表示最大的使用。

採用ub做字尾的函式,以255表示最大的使用。

採用s做字尾的函式,以32767表示最大的使用。

採用us做字尾的函式,以65535表示最大的使用。

(3.1)顏色索引模式-總是先設定顏色表,然後選擇顏色:glindex*

說明:glclear(gl_color_buffer_bit);意思是把螢幕上的顏色清空

container of 的的的原理

另外一篇,同樣精彩,揭開linux核心中container of的神秘面紗 華清遠見嵌入式學院講師。在linux 核心中有乙個大名鼎鼎的巨集container of 這個巨集是用來幹嘛的呢?我們先來看看它在核心中是怎樣定義的。呵呵,乍一看不知道是什麼東東。我們先來分析一下container of p...

存在的就是合理的,發生的即是必然的。

筆者有時候會想,什麼是對,什麼是錯?對於追求某一件事情之前首先會考慮,為什麼我要做這件事情。所以經過自我分析和生活周邊環境的總結。我認為,對於乙個人來,這是在站在個體的角度上說。什麼是對的?就是你自己覺得是對的,它就是對的。不過這個只是你自己的想法。主觀上的正確,不代表客觀上也受到了別人的認可。就拿...

Apache的rewrite的重寫相關的引數

apache mod rewrite規則重寫的標誌一覽 使用mod rewrite時常用的伺服器變數 rewriterule規則表示式的說明 匹配任何單字元 chars 匹配字串 chars chars 不匹配字串 chars text1 text2 可選擇的字串 text1或text2 匹配0到1...