2018年6月21日 星期四

week02_黃耀緯

 新增一個GLUT專案,將main.cpp內的程式碼全部刪除
將以下程式碼KEY上去後就可以Build and Run了


#include <stdio.h>
#include <GL/glut.h>



int main(int argc, char ** argv)
{
    for(int i=0, i<argc, i++)
    {
         printf("argv[%d]:%s\n", i, argv[i]);
    }
}


  (a) argv是用來儲存命令字元內輸入的參數
  (b) argc是用來儲存我們輸入的參數有幾個
將 freeglut-MinGW-3.0.0-1.mp的 freeglut.dll 複製貼到剛剛建立的GLUT專案資料夾 → bin → Debug 中



打開CMD

用剛剛建立的GLUT專案/bin/Debug 路徑,執行"電腦圖學.exe" 在後面輸入字串,下方會將每個單字印出並換行\
畫茶壺

#include <stdio.h>
    #include <GL/glut.h>
    void display()
   {
       glClear(GL_COLOR_BUFFER_BIT);
       // 5 清畫面
       glutSolidTeapot(0.3);
       // 6 大小為0.3的茶壺
       glutSwapBuffers();
       // 7 交換 double buffers 來顯示畫出來的顏色
   }
   int main(int argc, char **argv)
   {
       glutInit(&argc, argv);
       // 1初始 glut 參數
       glutInitDisplayMode(GLUT_DOUBLE);
       // 2 顯示模式:double buffers
       glutCreateWindow("A Teapot");
       // 3 建立視窗(雙引號是視窗名稱)
       glutDisplayFunc(display);
       // 4 顯示函式display()用來畫圖
       glutMainLoop();
       // 8主要的迴圈,用來控制程式
   }

改變茶壺顏色

方法壹:使用glColor3f();來改變茶壺顏色
方法二:使用glColor3ub();來改變茶壺顏色
兩種方法都相當好用看各人選擇

繪製三角形



#include <stdio.h>
   #include <GL/glut.h>

   void display()
   {
       glClearColor(191/255.0,251/255.0,203/255.0,1);
       glClear(GL_COLOR_BUFFER_BIT);

       glBegin(GL_POLYGON);
       //開始畫
           glColor3f(1, 0, 0);    glVertex2f(-1, -1);
           //設定頂點顏色       //設定頂點座標(接受範圍為 (-1~1) 分別代表x, y)
           glColor3f(0, 1, 0);    glVertex2f(1, -1);
           glColor3f(0, 0, 1);    glVertex2f(0, 1);
       glEnd();
       //結束畫

       glutSwapBuffers();
   }

   int main(int argc, char **argv)
   {
       glutInit(&argc, argv);
       glutInitDisplayMode(GLUT_DOUBLE);
       glutCreateWindow("A Triangle");
       glutDisplayFunc(display);
       glutMainLoop();
   }





沒有留言:

張貼留言