2017年9月21日 星期四

范姜紹瑋_Week2_筆記

使用Notepad++編寫程式碼

1.開啟Notepad++選擇另存新檔












2. 檔案類型選擇.cpp 









3. 接著就能以程式碼的格式進行編寫









-------------------------------------------------------------
建立GLUT專案,留下以下程式碼
#include <GL/glut.h>
void display(void)
{
    glClearColor(1,0,0,0);//設定要清除的背景色(紅,綠,藍,透明度 )
    glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT);//開始清除
    glColor3f(0,1,0);//增加物體顏色(紅,綠,藍)  3f表示3個浮點參數
    glutSolidTeapot(0.5);//用GLUT函式,畫出茶壺
    glutSwapBuffers();
//交換繪圖buffer,在這程式碼前的繪圖都在被警執行,到這行後瞬間轉換,這樣就能防止螢幕不斷閃爍
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);//開始使用GLUT,用上一行的參數
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");//建立GLUT視窗
    glutDisplayFunc(display);
    glutMainLoop();//主要迴圈,重覆執行
    return EXIT_SUCCESS;
}













-------------------------------------------------------------
用點座標自己畫圖
老師範例
#include <GL/glut.h>
void display(void)
{
    glClearColor(0,0,0,0);
    glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT);
    glBegin(GL_POLYGON);//表示開始畫圖
    glColor3f(1,0,0);//設定圖形顏色
    glVertex3f(1,1,0);//設定點座標
    glColor3f(0,1,0);
    glVertex3f(-1,1,0);
    glColor3f(0,0,1);
    glVertex3f(0,-1,0);
    glEnd();//表示圖形結束
    glutSwapBuffers();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");
    glutDisplayFunc(display);
    glutMainLoop();
    return EXIT_SUCCESS;
}

自己實作六芒星
#include <GL/glut.h>
void display(void)
{
    glClearColor(0,0,0,0);
    glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT);
    glBegin(GL_POLYGON);
    glColor3f(1,0,0);
    glVertex3f(1,0.5,0);
    glVertex3f(-1,0.5,0);
    glVertex3f(0,-1,0);
    glEnd();
glBegin(GL_POLYGON);
    glColor3f(1,0,0);
    glVertex3f(0,1,0);
    glVertex3f(-1,-0.5,0);
    glVertex3f(1,-0.5,0);
    glEnd();
    glutSwapBuffers();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");
    glutDisplayFunc(display);
    glutMainLoop();
    return EXIT_SUCCESS;
}


沒有留言:

張貼留言