2016年3月22日 星期二

Week 05 蔡鼎濬


作業一


移動 glTranslatef
旋轉glRotatef
縮放glScalef



作業二

可以左右移動
一個變數X


作業三

Double Buffering
Buffer:一個方框的意思
Double:兩個方框的意思
Buffer Double:一個放映一個準備   連貫性比較好

作業四

可以上下左右移動
二個變數X,Y
還可以調整在一開始的視窗位置glutInitWindowPosition
視窗大小glutInitWindowSize

程式碼
#include <GL/glut.h>
float rotX=0,rotY=0;
void display()
{

        glClearColor(0,0,1,1);
        glClear(GL_COLOR_BUFFER_BIT);
        glPushMatrix();
            glRotatef(rotX,1,0,0);
            glRotatef(rotY,0,1,0);
            glColor3f(1,1,0);
            glutSolidTeapot(0.3);
        glPopMatrix();
        glutSwapBuffers();
}
void motion (int x,int y)
{

        rotX=x,rotY=y;
        display();
}
int main(int argc,char**argv)
{

        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
        glutInitWindowSize(600,600);
        glutInitWindowPosition(300,0);
        glutCreateWindow("hello3D");

        glutDisplayFunc(display);
        glutMotionFunc(motion);
        glutMainLoop();

}


沒有留言:

張貼留言