OpenGL函式思考 glColor

2021-06-20 19:07:35 字數 2685 閱讀 3585

函式原型:

glcolor3b,glcolor3d,glcolor3f,glcolor3i,glcolor3s,glcolor3ub,glcolor3ui,glcolor3us,glcolor4b,glcolor4d,glcolor4f,glcolor4i,glcolor4s,glcolor4ub,glcolor4ui,glcolor4us,glcolor3bv,glcolor3dv,glcolor3fv,glcolor3iv,glcolor3sv,glcolor3ubv,glcolor3uiv,glcolor3usv,glcolor4bv,glcolor4dv,glcolor4fv,glcolor4iv,glcolor4sv,glcolor4ubv,glcolor4uiv,glcolor4usv

例子:voidglcolor3f(glfloatred, glfloatgreen,glfloat blue)

函式說明:

設定當前顏色。如下例子

例1:繪製乙個平滑過度填充色的三角形和乙個平面著色的四邊形

glclear(gl_color_buffer_bit or gl_depth_buffer_bit);  // 根據glclearcolor和glcleardepth指定的值清除顏色和深度快取

glloadidentity();                                     // 重置當前指定的矩陣為單位矩陣

..........................................三角形...........................................

//當您呼叫glloadidentity()之後,您實際上將當前點移到了螢幕中心,

//x座標軸從左至右,y座標軸從下至上,z座標軸從裡至外。

//opengl螢幕中心的座標值是x和y軸上的0.0f點。

//中心左面的座標值是負值,右面是正值。移向螢幕頂端是正值,移向螢幕底端是負值。移入螢幕深處是負值,移出螢幕則是正值。

gltranslatef(-1.5,0.0,-6.0); // 左移 1.5 單位,並移入螢幕 6.0

//glend()出現後,三角形將被填充。因為每個頂點有不同的顏色,因此看起來顏色從每個角噴出,並剛好在三角形的中心匯合,

//三種顏色相互混合,這就是平滑著色

glbegin(gl_********s); // 繪製三角形(逆時針畫出來的三角形才是正面朝著我們的)

glcolor3f(1.0,0.0,0.0);     // 設定當前色為紅色

glvertex3f(-1.0,-1.0, 0.0); // 左下頂點(//glvertex 的第乙個引數是x座標,然後依次是y座標和z座標)

glcolor3f(0.0,1.0,0.0);     // 設定當前色為綠色

glvertex3f( 1.0,-1.0, 0.0); // 右下頂點

glcolor3f(0.0,0.0,1.0);     // 設定當前色為藍色

glvertex3f( 0.0, 1.0, 0.0); // 上頂點

glend(); // 三角形繪製結束

..........................................正方形...........................................

//在螢幕的左半部分畫完三角形後,我們要移到右半部分來畫正方形。

//這次右移,所以x座標值為正值。因為前面左移了1.5個單位,

//這次要先向右移回螢幕中心(1.5個單位),再向右移動1.5個單位。總共要向右移3.0個單位。

gltranslatef(3.0,0.0,0.0); // 右移3單位

glcolor3f(0.5,0.5,1.0); // 一次性將當前色設定為藍色

glbegin(gl_quads);      // 繪製正方形(逆時針畫出來的正方形才是正面朝著我們的)

glvertex3f(-1.0,-1.0, 0.0); // 左下

glvertex3f( 1.0,-1.0, 0.0); // 右下

glvertex3f( 1.0, 1.0, 0.0); // 右上

glvertex3f(-1.0, 1.0, 0.0); // 左上

glend(); // 正方形繪製結束

OpenGL函式思考 gluLookAt

opengl函式思考 glulookat 函式原型 void glulookat gldouble eyex,gldouble eyey,gldouble eyez,gldouble centerx,gldouble centery,gldouble centerz,gldouble upx,gld...

OpenGL函式思考 glBlendFunc

opengl函式思考 glblendfunc 函式原型 void glblendfunc glenum sfactor,glenum dfactor 引數說明 函式說明 在rgb模式下,可以使用把引入的rgba值 源 與幀快取中的rgba值 目標 相融合的融合函式來繪製畫素。預設時,融合是關閉的,可...

OpenGL函式思考 glLoadIdentity

函式原型 void glloadidentity void 函式說明 opengl為我們提供了乙個非常簡單的恢復初始座標系的手段,那就是呼叫glloadidentity 命令。該命令是乙個無參的無值函式,其功能是用乙個4 4的單位矩陣來替換當前矩陣,實際上就是對當前矩陣進行初始化。也就是說,無論以前...