2017年9月21日 星期四

圖學筆記_Week02

今日主題:點、線、面、色彩

圖學程式:

1.開啟project(GLUT)
2.剪貼必要main涵式:
int main(int argc,char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();

}
P.s 函式庫記得呼叫------->  #include <GL/glut.h>
3.剪貼下display涵式
void display()
{
 glClearColor(0.5,0,1,0); //背景顏色
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 glutSolidTeapot(0.3);  //此行是自己+的程式碼 作用為畫出茶壺的圖案。
 glutSwapBuffers();
}
結果:

additional:
---->  glColor3d(1,0,0); 可改茶壺圖形顏色

void display()
{
  glClearColor(0.5,0,1,0);
          glColor3d(1,0,0);
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  glutSolidTeapot(0.3);
  glutSwapBuffers();
}
結果:
----------------------------------------------------------------------------------------------------------------


點、線、面:

改寫display涵式:
void display()
{
 glClearColor(0.5,0,1,0);
 glColor3d(1,0,0);
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//  glutSolidTeapot(0.3);   //原本的程式碼,這是畫茶壺
      glBegin(GL_POLYGON); //此表示開始畫(多邊形)
      glVertex3f(1,1,0);    //glVertex3f中的Vertex為點 3f為3個float參數 表示座標點
      glVertex3f(-1,1,0);  //總共寫了3個點
      glVertex3f(0,-1,0);
      glEnd();  //結束作畫
 glutSwapBuffers();

}
結果:









沒有留言:

張貼留言