#Week02-1
Step01 打開 "2022葉正聖老師上課軟體"資料夾裡面的"freeglut-MinGW-3.0.0-1.mp.zip"
將裡面的freeglut資料夾拉到桌面上
Step02 將libfreeglut.a複製改檔名成 libglut32.a
Step03 打開File - New - Project 點選GLUT project
Step04 用十行程式化一個茶壺
程式碼:
#include <GL/glut.h>
void display()
{
glutSolidTeapot(0.3);///畫出一個實心茶壺,它的大小0.3(這一行原創的,其他行都是複製來的)
glutSwapBuffers();///請GLUT把畫面swap送到顯示的地方
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv); ///把GLUT開起來 (GLUT初始化)
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
///上面這行是把顯示的模式設定好
glutCreateWindow("GLUT Shapes"); ///要開視窗
glutDisplayFunc(display); ///要顯示的對應函式
glutMainLoop(); ///最後用main迴圈,壓在最後面
}
step05 加glColor.f(r,g,b); 來更改顏色
程式碼:
#include <GL/glut.h>
void display()
{
glColor3f(1,1,0);///黃色
glutSolidTeapot(0.3);///畫出一個實心茶壺,它的大小0.3
glutSwapBuffers();///請GLUT把畫面swap送到顯示的地方
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv); ///把GLUT開起來 (GLUT初始化)
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
///上面這行是把顯示的模式設定好
glutCreateWindow("GLUT Shapes"); ///要開視窗
glutDisplayFunc(display); ///要顯示的對應函式
glutMainLoop(); ///最後用main迴圈,壓在最後面
}
step06 加綠色進去,調整大小
程式碼:
#include <GL/glut.h>void display(){ glColor3f(0,1,0);///綠色 ///glutSolidTeapot(0.5); glBegin(GL_POLYGON);///開始畫 glColor3f(1,0,0); glVertex2f( 0, 1);///紅色頂點Vertex glColor3f(0,1,0); glVertex2f(-1,-1);///綠色頂點Vertex glColor3f(0,0,1); glVertex2f( 1,-1);///藍色頂點Vertex glEnd();///結束畫
glColor3f(1,1,0);///黃色 glutSolidTeapot(0.3);///畫出一個實心茶壺,它的大小0.3(這一行原創的,其他行都是複製來的) glutSwapBuffers();///請GLUT把畫面swap送到顯示的地方}int main(int argc, char *argv[]){glutInit(&argc, argv);glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);glutCreateWindow("GLUT Shapes");glutDisplayFunc(display);glutMainLoop();}
step07 新增開始畫 glBegin(GL_POLYGON) 、結束畫 glEnd()
step08 畫頂點 用 glVertex2f(x,y)
#include <GL/glut.h>
void display()
{
///glColor3f(0,1,0);///綠色
///glutSolidTeapot(0.5);///畫出一個實心的茶壺,它的大小是0.5
glBegin(GL_POLYGON);///開始畫出多邊形
glVertex2f( 0, 1);///頂點 Vertex
glVertex2f(-1,-1);///頂點 Vertex
glVertex2f(+1,-1);///頂點 Vertex
glEnd();///結束畫
glColor3f(1,1,0);///黃色
glutSolidTeapot(0.3);///畫出一個實心的茶壺,它的大小是0.3
glutSwapBuffers();///請GLUT把畫面swap送到顯示的地方
}
int main(int argc, char *argv[])
{ ///上面是特別的main函式,有很多參數
glutInit(&argc, argv);///把GLUT開起來
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///把顯示的模式設定好
glutCreateWindow("GLUT Shapes");///要開視窗
glutDisplayFunc(display);///要顯示的對應函式
glutMainLoop();///最後用main迴圈,壓在最後面
}
#include <GL/glut.h>
void display()
{
glColor3f(0,1,0);///綠色
///glutSolidTeapot(0.5);
glBegin(GL_POLYGON);///開始畫
glColor3f(1,0,0); glVertex2f( 0, 1);///紅色頂點Vertex
glColor3f(0,1,0); glVertex2f(-1,-1);///綠色頂點Vertex
glColor3f(0,0,1); glVertex2f( 1,-1);///藍色頂點Vertex
glEnd();///結束畫
glColor3f(1,1,0);///黃色
glutSolidTeapot(0.3);///畫出一個實心茶壺,它的大小0.3
glutSwapBuffers();///請GLUT把畫面swap送到顯示的地方
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}




















沒有留言:
張貼留言