2022年3月7日 星期一

RH的學習筆記٩(ˊᗜˋ*)و week03

主題:點、線、面、色彩

1. https://jsyeh.org/3dcg10/ 下載範本 win32



2.將其解壓縮




3.點開windows並選Shapes.exe




4.Shapes.exe畫面




複習上週的作業

1.把freeglut....zip的freeglut拉到桌面,並解壓縮



2.再把桌面\freeglut\lib\libglut32.a複製好




3.接著就可跑上周的week01.GLUT範例了



親手打造第一個GLUT程式

1.先做上禮拜作業的內容_打開GLUT範例(把檔名改成week03_color)



2.接著把main.cpp裡全部程式刪除



3.輸入程式
#include <GL/glut.h>///外掛
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(1,1,0);
    glutSolidTeapot(0.3); ///0.3實心茶壺

    glutSwapBuffers();///交換2倍的buffer
}
int main(int argc,char**argv)
{///進階的內函式
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week03的視窗");///建視窗

    glutDisplayFunc(display);///今天用來畫圖的函式

    glutMainLoop();///主要的迴圈
    return 0;
}


4.最後結果(黃色茶壺)

5.將黃色茶壺改成三原色三角形

程式碼如下:
#include <GL/glut.h>
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glColor3f(1,1,0);
    ///glutSolidTeapot(0.3);
    glBegin(GL_TRIANGLES);
        glColor3f(1.0f,0.0f,0.0f);  glVertex2f(0.0f,1.0f);
        glColor3f(0.0f,1.0f,0.0f);  glVertex2f(0.87f,-0.5f);
        glColor3f(0.0f,0.0f,1.0f);  glVertex2f(-0.87f,-0.5f);
    glEnd();
    glutSwapBuffers();
}
int main(int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("RH");

    glutDisplayFunc(display);
    glutMainLoop();
    return 0;
}










沒有留言:

張貼留言