2023年2月22日 星期三

達yo - week02-GLUT-點線面色彩

 

week02

今天電腦圖學使用CodeBlocks17.12,打開GLUT專案,做出圖形。

01-1
第一步:開啟GLUT project,


開完GLUT project後,成功的話按執行會跳出一堆紅色圖形。


因為不需要用到總共177行的程式碼,所以
先在一開始的專案程式碼複製差不多10行左右到Notepad++,
之後再開一個新的專案,去做今天要做的多邊形。




今天的課程是做多邊形

執行畫面

第一個:白色茶壺的程式碼
#include <GL/glut.h>
void display()
{
    glutSolidTeapot(0.3);///畫出實心的茶壺,大小是0.3
    glutSwapBuffers();///請GLUT把畫面swap送到顯示的地方
}

int main(int argc, char *argv[])///特別的main函式,有很多參數
{
glutInit(&argc, argv);///把GLUT開起來
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");///要開視窗
glutDisplayFunc(display);///要顯示的對應函式
glutMainLoop();///最後用 main迴圈 壓在最後面
}




執行畫面

第二個:黃色+藍色茶壺的程式碼
#include <GL/glut.h>
void display()
{

    glColor3f(0,1,1);///水藍色

    glutSolidTeapot(0.5);///水藍色茶壺的大小是0.5

    glColor3f(1,1,0);///黃色

    glutSolidTeapot(0.3);///畫出實心的茶壺,大小是0.3

    glutSwapBuffers();///請GLUT把畫面swap送到顯示的地方

}

int main(int argc, char *argv[])///特別的main函式,有很多參數

{

glutInit(&argc, argv);///把GLUT開起來

glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

glutCreateWindow("GLUT Shapes");///要開視窗

glutDisplayFunc(display);///要顯示的對應函式

glutMainLoop();///最後用 main迴圈 壓在最後面

}



執行畫面

第三個:藍色三角形+黃色茶壺的程式碼
#include <GL/glut.h>

void display()

{

    glColor3f(0,1,1);///水藍色

    glBegin(GL_POLYGON);///開始畫

        glVertex2f( 0, 1);///頂點Vertex

        glVertex2f(-1,-1);///頂點Vertex

        glVertex2f( 1,-1);///頂點Vertex

    glEnd();///結束畫

    glColor3f(1,1,0);///黃色

    glutSolidTeapot(0.3);///畫出實心的茶壺,大小是0.3

    glutSwapBuffers();///請GLUT把畫面swap送到顯示的地方

}

int main(int argc, char *argv[])///特別的main函式,有很多參數

{

glutInit(&argc, argv);///把GLUT開起來

glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

glutCreateWindow("GLUT Shapes");///要開視窗

glutDisplayFunc(display);///要顯示的對應函式

glutMainLoop();///最後用 main迴圈 壓在最後面

}



執行畫面

第四個:色彩繽紛的三角形+黃色茶壺
#include <GL/glut.h>
void display()
{
    glBegin(GL_POLYGON);///開始畫
        glColor3f(1,0,0); glVertex2f( 0, 1);
        glColor3f(0,1,0); glVertex2f(-1,-1);
        glColor3f(0,0,1); glVertex2f( 1,-1);
    glEnd();///結束畫
    glColor3f(1,1,0);///黃色
    glutSolidTeapot(0.3);///畫出實心的茶壺,大小是0.3
    glutSwapBuffers();///請GLUT把畫面swap送到顯示的地方
}

int main(int argc, char *argv[])///特別的main函式,有很多參數
{
glutInit(&argc, argv);///把GLUT開起來
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");///要開視窗
glutDisplayFunc(display);///要顯示的對應函式
glutMainLoop();///最後用 main迴圈 壓在最後面
}

02-1回家作業的示範
製作皮卡丘


03-1圓形


第三節課教的是把圓形做出來
1.開啟新的專案
2.先把從另一邊複製的程式碼貼上



利用函式myCircle(float r)來簡化程式




做出圓形



沒有留言:

張貼留言