2020年3月11日 星期三

week2_學習日誌

電腦圖學 學習日誌
week2

課程內容:

1. 親手打造第一個GLUT程式
2. 色彩                            

3. 點、線、面                   

4. 座標系統 & 小畫家結合    

5. 用mouse來寫程式         



(一) 親手打造第一個GLUT程式


GLUT 主程式基本架構:


int main(int argc, char *argv[])
{
    ///glut的函式,幫我們簡化程式

    glutInit(&argc, argv);///初始化 GLUT

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    ///設定GLUT的顯示模式 1+2+3效果

    glutCreateWindow("Week02 CCE Number 2!!!");

    glutDisplayFunc(display);

    glutMainLoop();
}

→ display() 是自己動手寫的函式 



glutSolidTeapot( );     實心茶壺





glutWrieTeapot();       框線茶壺




glutSwapBuffers( );    GLUT工具包中用於實現雙緩衝技術的一個重要函數






(二) 色彩

給物件加顏色

 glColor3f( 1, 0 ,0);                          物體填色

▶ glClearColor(1.0, 1.0, 0.6,1.0);        改變背景顏色


▶ glClear(GL_COLOR_BUFFER_BIT);    清除原本的背景顏色








(三) 點、線、面

→ display() 是自己動手寫的函式 

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

}


 glVertex2f(); / glVertex3f ();      二維向量 / 三維向量

▶ glBegin(GL_LINE_LOOP);    (線條)



▶ glBegin(GL_TRIANGLES);   (實心)






沒有留言:

張貼留言