2017年9月21日 星期四

羅浩倫的學習筆記 Week02

1.從專案裡原本的程式碼偷出幾行來~



完整程式碼:

#include <GL/glut.h>
static void display(void)
{
    glClearColor(0,0,1,0);//設定背景色彩
    glColor3f(0,1,0);//設定茶壺顏色
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//更改背景色彩
    glutSolidTeapot(0.3);//畫一個大小0.3的茶壺
    glutSwapBuffers();//全部畫完才交換畫圖暫存區,才不會閃爍
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    //上面兩行都是初始化的設定
    glutCreateWindow("GLUT Shapes");//設定畫圖視窗名稱
    glutDisplayFunc(display);//註冊display函式

    glutMainLoop();//畫圖的迴圈

    return EXIT_SUCCESS;//回傳成功結束
}



2.繼續把一些重要的程式把抓出來,然後在display()裡加上glutSolidTeapot(0.3),讓他畫出一個茶壺。



3.在display()裡再加上glColor3f(0,1,0)控制茶壺顏色,3f的3代表3個參數,f則是float的意思,代表可以代入0~1的參數,三個參數分別控制RGB的顏色。這邊的0,1,0是綠色。



4.把display()裡的glutSolidTeapot(0.3);註解掉,加入
glBegin(GL_POLYGON);//開始畫多邊形
glVertex3f(-1,1,0);//設置多邊形的頂點1
glVertex3f(1,1,0);//頂點2
glVertex3f(0,-1,0);//頂點3
glEnd();//繪畫結束

畫圖結果:



沒有留言:

張貼留言