2021年3月3日 星期三

week02 3/3 電腦圖學

 今日主題:點 線 面


使用Glut寫出可愛的茶壺*>)))
變成紅色了~~~

#include <GL/glut.h>
static void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(1,0,0);
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");
    glutDisplayFunc(display);
    glutMainLoop();
}


進階的來囉
增加點花樣
#include <GL/glut.h>
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(0.5,1,0.2);
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");
    glutDisplayFunc(display);
    glutMainLoop();
}


glBegin(GL_LINE_LOOP);
改函式即改樣式





#include <GL/glut.h>
#include <math.h>
static void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glBegin(GL_POLYGON);

        glColor3f(1.0f,0.0f,1.0f);
        for(float angle=0; angle<3.14159265358979*2; angle+=0.01)
        {
            glVertex2f( 0.5*cos(angle), 0.5*sin(angle) );
        }
    glEnd();
    glColor3f(0.5,1,0.2);
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");
    glutDisplayFunc(display);
    glutMainLoop();
}






沒有留言:

張貼留言