2018年3月9日 星期五

Week02 吳姿諭

(1)做一個茶壺

#include <stdio.h>
#include <GL/glut.h>
void display()
{
    glClear(GL_COLOR_BUFFER_BIT); 清畫面
    glutSolidTeapot(0.3); 大小為0.3的茶壺
    glutSwapBuffers();
}
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE);
    glutCreateWindow("Week02 Hello World Triangle");

    glutDisplayFunc(display);
    glutMainLoop();
}

(2)讓茶壺變色-利用 Color3f 調色

#include <stdio.h>
#include <GL/glut.h>
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1,0,0); 選擇色彩顏色RGU / 255.0
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE);
    glutCreateWindow("Week02 Hello World Triangle");

    glutDisplayFunc(display);
    glutMainLoop();
}


(3)讓茶壺變色-利用 Color3ub 調色

#include <stdio.h>
#include <GL/glut.h>
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);
    ///glColor3f(1,0,0);
    glColor3ub(248, 100, 200); 選擇色彩顏色RGU
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE);
    glutCreateWindow("Week02 Hello World Triangle");

    glutDisplayFunc(display);
    glutMainLoop();
}

(4)讓背景變色

#include <stdio.h>
#include <GL/glut.h>
void display()
{
    glClearColor(68/255.0, 50/255.0, 100/255.0, 1);
    glClear(GL_COLOR_BUFFER_BIT);
    ///glColor3f(1,0,0);
    glColor3ub(248, 100, 200);
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE);
    glutCreateWindow("Week02 Hello World Triangle");

    glutDisplayFunc(display);
    glutMainLoop();
}


(4)利用點線面來畫一個三角形

#include <stdio.h>
#include <GL/glut.h>
void display()
{
    glClearColor(64/255.0,0,128/255.0,1);
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POLYGON);
        glColor3ub(0,100,168); glVertex2f(-1,-1);上色
        glColor3ub(0,168,200); glVertex2f(+1,-1); 代表頂點位置
        glColor3ub(0,100,168); glVertex2f(0,1);
    glEnd();
    glutSwapBuffers();
}
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE);
    glutCreateWindow("Week02 Hello World Triangle");
    glutDisplayFunc(display);
    glutMainLoop();
}




沒有留言:

張貼留言