OpenGL的glClearColor和glClear改變背景顏色
結合以下兩個函數
void glClearColor(GLclampf red,
GLclampf green,
GLclampf blue,
GLclampf alpha);
和
void glClear(GLbitfield mask);
前一個函數設置好清除顏色,后者利用前一個函數設置好的當前清除顏色設置窗口顏色
例如代碼:
1 #include <stdio.h> 2 #include <gl/glut.h> 3 4 /* 5 功能描述:使用OpenGL簡單畫一個矩形。 6 */ 7 8 //輸出模式,0-單緩存模式;非0雙緩存模式 9 #define OUTPUT_MODE 1 10 11 void display(void) 12 { 13 //glClearColor函數設置好清除顏色,glClear利用glClearColor函數設置好的當前清除顏色設置窗口顏色 14 glClearColor(1.0, 1.0, 0.6, 1.0); 15 glClear(GL_COLOR_BUFFER_BIT); 16 17 glRectf(-0.5f, -0.5f, 0.5f, 0.5f); 18 19 if (OUTPUT_MODE == 0) { 20 glFlush();//單緩存GLUT_SINGLE時使用 21 } else { 22 glutSwapBuffers();//因為使用的是雙緩存GLUT_DOUBLE,所以這里必須要交換緩存才會顯示 23 } 24 } 25 26 int main(int argc, char *argv[]) 27 { 28 glutInit(&argc, argv); 29 30 glutInitDisplayMode(GLUT_RGB | (OUTPUT_MODE == 0 ? GLUT_SINGLE : GLUT_DOUBLE)); 31 glutInitWindowPosition(100, 100); 32 glutInitWindowSize(400, 400); 33 glutCreateWindow("第一個 OpenGL 程序"); 34 glutDisplayFunc(&display); 35 glutMainLoop(); 36 return 0; 37 }
運行結果:

