1. 複習上周開起 GLUT
2.將GLUT程式修改並顯示出茶壺
程式碼 ↓
#include <GL/glut.h>
void display()
{
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week02");
glutDisplayFunc(display);
glutMainLoop();
}
3.更改茶壺的顏色
程式碼 ↓
#include <GL/glut.h>
void display()
{
glColor3f(1,0,0);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week02");
glutDisplayFunc(display);
glutMainLoop();
}
4.
(1) 點網址(http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/?fbclid=IwAR1OGK_CF1Q4ivit6p57lyewO2CpG1Gs1ufsFWW7pge-hee5zFTuN7Umvks)
下載 data & win32 & glut32.dll 並將 data & win32 解壓縮
(2) 將 data 和 glut32.dll 放入windows裡面
(3)開啟Shapes後 按右鍵增加 POLYGON 旁邊的數值可調顏色
5.
(1)改程式碼將圖形顯示出來
程式碼 ↓
#include <GL/glut.h>
void display()
{
glBegin(GL_POLYGON);
glColor3f(1,0,0); glVertex2f(1,0);
glColor3f(0,1,0); glVertex2f(-1,1);
glColor3f(0,0,1); glVertex2f(-1,-1);
glEnd();
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week02");
glutDisplayFunc(display);
glutMainLoop();
}
(2) 點的呈現
程式碼 ↓
#include <GL/glut.h>
void display()
{
glBegin(GL_POINTS);
glColor3f(1,0,0); glVertex2f(0.9,0);
glColor3f(0,1,0); glVertex2f(-0.9,0.9);
glColor3f(0,0,1); glVertex2f(-0.9,-0.9);
glEnd();
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week02");
glutDisplayFunc(display);
glutMainLoop();
}
(3) 線的呈現
程式碼 ↓
#include <GL/glut.h>
void display()
{
glBegin(GL_LINE_LOOP);
glColor3f(1,0,0); glVertex2f(0.9,0);
glColor3f(0,1,0); glVertex2f(-0.9,0.9);
glColor3f(0,0,1); glVertex2f(-0.9,-0.9);
glEnd();
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week02");
glutDisplayFunc(display);
glutMainLoop();
}










沒有留言:
張貼留言