2017年9月21日 星期四

GLUT 點.線.面.色彩 week02

1. 設定使用什麼顏色清理背景
  glClearColor(0,0,1,0);

2. 設定畫的圖的顏色
  glColor3f(R,G,B);
  3代表3個數字;f代表0~1的浮點數

3. 開始畫圖
  glBegin(GL_POLYGON);
  POLYGON代表多邊形

4. 設定點線面的頂點
  glVertex3f(0,1,0);
  Vertex代表頂點,3f同上
  (0,1,0)為x,y,z軸的座標

5. 結束畫圖
  glEnd();

------------------------
       以下為今天的程式碼
------------------------

void display()
{
glClearColor(0,0,1,0);
          //要用什麼顏色清背景,否則預設為黑
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
          //動作:清理背景
        glColor3f(1,0,1);
         //3f代表3個參數,f代表float,0~1的浮點數
glutSolidTeapot(0.3);
          //使用GLUT外掛
        glBegin(GL_POLYGON);
          //開始畫圖,多邊形
glVertex3f(1,0,0);
          //vertex畫頂點
glVertex3f(0,1,0);
glVertex3f(0,0,1);
glEnd();
          //結束畫圖
glutSwapBuffers();
          //交換緩衝區(顯示中的背景與緩衝區的背景)
}


int main(int argc, char *argv[])
{
glutInit(&argc, argv);
   //glut initialize = 開始使用GLUT
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
           //開始設定顯示模式(RGB、雙重緩衝、深度緩衝)
glutCreateWindow("GLUT Shapes");
          //建立3D視窗
glutDisplayFunc(display);
          //CALL display函式
glutMainLoop();
          //迴圈
}


沒有留言:

張貼留言