2020年3月11日 星期三

Week02~

3/11(三)
1.複習上禮拜教的內容,再次開啟GLUT

並從中挑選程式碼加以改寫
#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();
}


2.到老師給的網址下載[data]、[win32]跟[glut32.dll]
http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/

->解壓縮放進windows資料夾裡

->點開Shapes.exe

->右鍵選取polygon

->凸多邊形就出現了,並用滑鼠拖拉改變數值


3.回到Codeblocks寫出能做出此凸多邊形的程式碼
#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();
}
->解釋名詞,可以記!!!!!!
->還有許多其他形式的圖形,選擇polygon時選單上的項目都可以
->要先清除原本的顏色才能改變背景色

->按照上述概念新增程式碼
#include <GL/glut.h>

void display()
{
    glClearColor(1,1,0,1);
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    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();
}

沒有留言:

張貼留言