2015年3月11日 星期三

2015/3/11 Week3 課堂作業 黃志楷

















畫有顏色的茶壺

增加
                           r g b
          glColor3f(1,1,1);(3原色,f浮點數)

#include <GL/glut.h>///呼叫外掛
void teapot()
{
    glColor3f(1,0,0);///上色(紅)
    glutSolidTeapot(0.3);///畫teapot
    glFlush();
}
int main(int argc,char *argv[])
{
    glutInit(&argc,argv);///初始化
    glutCreateWindow("02160421");///畫視窗
    glutDisplayFunc(teapot);///呼叫函式
    glutMainLoop();///持續跑主程式
}

















畫多重茶壺加修改背景

增加

glClear(GL_COLOR_BUFFER_BIT);
                       r g b a
glClearColor(1,1,0,1);


#include <GL/glut.h>///呼叫外掛
void teapot()
{
    glClear(GL_COLOR_BUFFER_BIT);///clear清畫面
    glClearColor(1,1,0,1);///設定要用來清畫面的顏色(黃)

    glColor3f(1,0,0);///上色(紅)
    glutSolidTeapot(0.5);///畫teapot
    glFlush();

    glColor3f(0,1,1);///上色(藍)
    glutSolidTeapot(0.3);///畫teapot
    glFlush();
}
int main(int argc,char *argv[])
{
    glutInit(&argc,argv);///初始化
    glutCreateWindow("02160421");///畫視窗
    glutDisplayFunc(teapot);///呼叫函式
    glutMainLoop();///持續跑主程式
}

















畫線,畫點,上色
畫三角形
增加

        glBegin(GL_POLYGON);
        glVertex2f(-1.0,-1.0);///畫點
        glEnd();

#include <GL/glut.h>///呼叫外掛
void teapot()
{
    glClear(GL_COLOR_BUFFER_BIT);///clear清畫面
    glClearColor(1,1,0,1);///設定要用來清畫面的顏色(黃)
    glColor3f(1,0,0);///上色(紅)

    glBegin(GL_POLYGON);
        glVertex2f(-1.0,-1.0);///畫點
        glVertex2f(1.0,0.0);///畫點
        glVertex2f(0.0,1.0);///畫點
    glEnd();
    glFlush();

}
int main(int argc,char *argv[])
{
    glutInit(&argc,argv);///初始化
    glutCreateWindow("02160421");///畫視窗
    glutDisplayFunc(teapot);///呼叫函式
    glutMainLoop();///持續跑主程式
}

















畫點後上色

#include <GL/glut.h>///呼叫外掛
void teapot()
{
    glClear(GL_COLOR_BUFFER_BIT);///clear清畫面
    glClearColor(1,1,0,1);///設定要用來清畫面的顏色(黃)
    glColor3f(1,0,0);///上色(紅)

    glBegin(GL_POLYGON);
        glColor3f(1,0,0);///上色
        glVertex2f(1.0,0.0);///畫點
        glColor3f(0,1,0);///上色
        glVertex2f(1.0,1.0);///畫點
        glColor3f(0,0,1);///上色
        glVertex2f(0.0,0.0);///畫點
    glEnd();
    glFlush();

}
int main(int argc,char *argv[])
{
    glutInit(&argc,argv);///初始化
    glutCreateWindow("02160421");///畫視窗
    glutDisplayFunc(teapot);///呼叫函式
    glutMainLoop();///持續跑主程式
}

















修改視窗大小
增加
glutReshapeWindow(400,200);(可自行修改視窗大小)

#include <GL/glut.h>///呼叫外掛
void teapot()
{
    glClear(GL_COLOR_BUFFER_BIT);///clear清畫面
    glClearColor(1,1,0,1);///設定要用來清畫面的顏色(黃)
    glColor3f(1,0,0);///上色(紅)

    glBegin(GL_POLYGON);
        glColor3f(1,0,0);///上色
        glVertex2f(1.0,0.0);///畫點
        glColor3f(0,1,0);///上色
        glVertex2f(1.0,1.0);///畫點
        glColor3f(0,0,1);///上色
        glVertex2f(0.0,0.0);///畫點
    glEnd();
    glFlush();

}
int main(int argc,char *argv[])
{
    glutInit(&argc,argv);///初始化
    glutCreateWindow("02160421");///畫視窗
    glutReshapeWindow(400,200);///可自行修改視窗大小
    glutDisplayFunc(teapot);///呼叫函式
    glutMainLoop();///持續跑主程式
}

沒有留言:

張貼留言