week 02 第一個圖學程式
Step 1.茶壺
#include <GL/glut.h>void display()
{
glClearColor(1,1,1,1); //清背景顏色 (R,G,B,A) ex:紅1000
//參考1
glClear(GL_COLOR_BUFFER_BIT | GL.DEPTH_BUFFER_BIT);
glColor3f(1,0,1); //物件色彩(紫)
//3是3個參數,f是0.0-1.0之間的浮點數
//參考2
glutDolidTeapot(0.3); //茶壺 glut外掛
glutSwapBuffers(); //交換繪圖Buffers
}
int main(int argc, char *argv[]) //主程式函式,吃argc參數數量,argv是參數的全部,用陣列存
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); //設定顯示模式
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display); //註冊display
glutMainLoop(); //主要迴圈,一直跑
}
1.

2.

Step 2.三角形
#include <GL/glut.h>
void display()
{
glClearColor(1,0,0,0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(1,0,1); //物件色彩(紫)
glBegin(GL_POLYGON); //開始畫(多邊形)
glVertex3f(1,1,0); //三個頂點 //3是x,y,z 3個參數,f是0.0-1.0之間的浮點數
glVertex3f(-1,1,0);
glVertex3f(0,-1,0);
glEnd(); //結束畫
//參考3
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}
3.

Step 3.彩色三角形
#include <GL/glut.h>void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_POLYGON); //開始畫(多邊形)
//彩色三角形在頂點前用函式glColor3f(R,G,B);
glColor3f(1,0,0); glVertex3f(1,1,0); //三個頂點
glColor3f(0,1,0); glVertex3f(-1,1,0);
glColor3f(0,0,1); glVertex3f(0,-1,0);
//參考4
glEnd(); //結束畫
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}
4.

沒有留言:
張貼留言