2020年3月11日 星期三

jiajiau

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();
}







沒有留言:

張貼留言