2020年3月18日 星期三

Week 3 _


- Review Week2 -


下載 data.zip, windows.zip, glut32.dll
跑 Shape.exe 及 Transformation.exe




- GLUT Mouse -



#include <GL/glut.h>
#include <stdio.h>

void display()
{
    glColor3f(0,0,1);
    glutSolidTeapot(0.3);
    glutSwapBuffers();
}

void mouse(int button,int state,int x,int y)
{
    printf("%d %d %d %d\n", button, state, x, y);
}

int main(int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("Week3");

    glutDisplayFunc(display);
    glutMouseFunc(mouse);
    glutMainLoop();
}



#include <GL/glut.h>
#include <stdio.h>

float teapotX=0, teapotY=0

void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix(); //備份矩陣
        glTranslatef(teapotX,teapotY,0); //移動

        glutSolidTeapot(0.3);
    glPopMatrix(); //備份矩陣

    glutSwapBuffers();
}

void mouse(int button,int state,int x,int y//Mouse的函式
{
    teapotX= (x-150)/150.0;
    teapotY=-(y-150)/150.0;
}

int main(int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("Week3");

    glutDisplayFunc(display);
    glutMouseFunc(mouse);
    glutMainLoop();
}


- GLUT Begin&End -



#include <GL/glut.h>
#include <stdio.h>

void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glBegin(GL_POLYGON);
        glVertex2f((280-150)/150.0,-(150-150)/150.0);
        glVertex2f((200-150)/150.0,-(120-150)/150.0);
        glVertex2f((120-150)/150.0,-(160-150)/150.0);

    glEnd();
    glutSwapBuffers();
}

int main(int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("Week3");
    glutDisplayFunc(display);

    glutMainLoop();
}





沒有留言:

張貼留言