2021年3月3日 星期三

小乖的圖學筆記 week02

1.開啟OpenGL

week01的筆記裡有

2.開啟GLUT

week01的筆記裡有

3.將GLUT刪除並增加茶壺glutSolidTeapot(0.5);至這樣

#include <GL/glut.h>///使用GLUT外掛


static void display(void)

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清背景

    glutSolidTeapot(0.5);///畫茶壺

    glutSwapBuffers();///更新畫面

}


int main(int argc, char *argv[])///main()函式

{

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

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///Init初始化Display功能

    glutCreateWindow("07160325 小乖的茶壺");///建立自訂名稱的GLUT視窗

    glutDisplayFunc(display);///準備display()函式

    glutMainLoop();///主要函式

}

4.增加顏色(紅) glColor3f(R,G,B);///增加顏色

static void display(void)

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清背景

    

    glColor3f(1,0,0);///增加顏色

    

    glutSolidTeapot(0.5);///畫茶壺

    glutSwapBuffers();///更新畫面

}

5.增加彩色三角形背景glVertex2f(x,y);

static void display(void)

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清背景


    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();///畫彩色三角形


    glColor3f(1,0,0);///增加顏色

    glutSolidTeapot(0.5);///畫茶壺

    glutSwapBuffers();///更新畫面

}

5.畫圓形背景
glBegin(GL_POLYGON);

        glColor3f(1.0, 0.0, 0.0);
        for(float angle=0;angle<3.14159265*2;angle+=0.01){
            glVertex2f(0.5*cos(angle),0.5*sin(angle));
        }

    glEnd();///圓形
static void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清背景

    glBegin(GL_POLYGON);

        glColor3f(1.0, 0.0, 0.0);
        for(float angle=0;angle<3.14159265*2;angle+=0.01){
            glVertex2f(0.5*cos(angle),0.5*sin(angle));
        }

    glEnd();///圓形

    glColor3f(0.5,1,0.2);///增加顏色
    glutSolidTeapot(0.5);///畫茶壺
    glutSwapBuffers();///更新畫面
}

沒有留言:

張貼留言

距地表面160 Week11

 #include "glm.h" GLMmodel* pmodel = NULL; void drawmodel(void) {     if (!pmodel) { pmodel = glmReadOBJ("data/porsche.obj...