2022年3月7日 星期一

Week03

 茶壺

1. 打開上周的GLUT檔案
2. 改寫程式碼
 #include <GL/glut.h>

void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glColor3f(0,1,1);///藍色
    glutSolidTeapot(0.3);///0.3實心茶壺
    glutSwapBuffers();///交換兩倍的BUFFER
}

int main(int argc, char *argv[])///main()函式
{
    glutInit(&argc, argv);///Init初始化GLUT
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);///兩倍|3D
    glutCreateWindow("08160173張淳雅O.O");///建立GLUT視窗
    glutDisplayFunc(display);///準備display()函式
    glutMainLoop();///主要迴圈
}


彩色三角形

用上一個茶壺的檔案修改

#include <GL/glut.h> ///使用GLUT外掛,簡化程式
void display()
{
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );///畫圖前, 先清畫面

    glColor3f(1,1,0); ///設定色彩
    ///glutSolidTeapot(0.3); ///實心的茶壼
    glBegin(GL_POLYGON);
        glColor3f(1,0,0);///紅色
        glVertex2f(-1, -1);
        glColor3f(0,1,0);///綠色
        glVertex2f(+1, -1);
        glColor3f(0,0,1);///藍色
        glVertex2f(0, +1);
    glEnd();

    glutSwapBuffers();///畫好後,交換出來
}

int main(int argc, char** argv) ///main()主函式 進階版
{
    glutInit( &argc, argv); ///把參數,送給 glutInit 初始化
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH ); ///雙緩衡區 + 3D深度功能
    glutCreateWindow("第02週的彩色三角形哦!"); ///開 GLUT 視窗
    glutDisplayFunc(display); ///用來顯示的函式
    glutMainLoop(); ///主要的程式迴圈
}


沒有留言:

張貼留言