繼續
上一節中我教給您三角形和四邊形的繪制方法。這一節將教您給三角形和四邊形添加2種不同類型的著色方法。使用Flat coloring(單調著色)給四邊形涂上固定的一種顏色。使用Smooth coloring(平滑著色)將三角形的三個頂點的不同顏色混合在一起,創建漂亮的色彩混合。
繼續在上節的glDraw上修改。
PRocedure glDraw();
Begin
glClear(GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT); // 清除屏幕和深度緩存
glLoadIdentity(); // 重置當前的模型觀察矩陣
glTranslatef(-1.5, 0.0, -6.0); // 左移 1.5 單位,并移入屏幕 6.0
glBegin(GL_TRIANGLES); // 繪制三角形
//glColor3f(r,g,b)。括號中的三個參數依次是紅、綠、藍三色分量。
//取值范圍可以從0,0到1.0。類似于以前所講的清除屏幕背景命令。
//我們將顏色設為紅色(純紅色,無綠色,無藍色)。
//接下來的一行代碼設置三角形的第一個頂點(三角形的上頂點),
//并使用當前顏色(紅色)來繪制。從現在開始所有的繪制的對象的顏色都是紅色,
//直到我們將紅色改變成別的什么顏色。
glColor3f(1.0, 0.0, 0.0); //設置當前色為紅色
glVertex3f(0.0, 1.0, 0.0); // 上頂點
//第一個紅色頂點已經設置完畢。
//接下來我們設置第二個綠色頂點。三角形的左下頂點被設為綠色。
glColor3f(0.0, 1.0, 0.0); //設置當前色為綠色
glVertex3f(-1.0, -1.0, 0.0); // 左下
//三角形的右下頂點。將顏色設為藍色
//glEnd()出現后,三角形將被填充。
//但是因為每個頂點有不同的顏色,因此看起來顏色從每個角噴出,
//并剛好在三角形的中心匯合,三種顏色相互混合。這就是平滑著色。
glColor3f(0.0, 0.0, 1.0); //設置當前色為藍色
glVertex3f(1.0, -1.0, 0.0); // 右下
glEnd(); // 三角形繪制結束
glTranslatef(3.0, 0.0, 0.0); // 右移3單位
//現在我們繪制一個單調著色-紫色的正方形。
//最重要的是要記住,設置當前色之后繪制的所有東東都是當前色的。
//以后您所創建的每個工程都要使用顏色。
//即便是在完全采用紋理貼圖的時候,
//glColor3f仍舊可以用來調節紋理的色調。
//等等....,以后再說吧。
//(呵呵,原書是藍色,但是我喜歡紫色)
glBegin(GL_QUADS); // 繪制正方形
glColor3f(0.6, 0.2, 2.0); //設置當前色為紫色
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(); // 正方形繪制結束
End;
新聞熱點
疑難解答
圖片精選