2022年3月14日 星期一

xuxuㄉ

搜尋 https://jsyeh.org/3dcg10/ >下載win32 和 data >把data拉進win32

今天ㄉ程式碼1喔

#include <GL/glut.h>

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);


    glPushMatrix();

        glTranslatef( 0.3, 0.2, 0);

        glColor3f(1,0,0);

        glutSolidTeapot(0.3);

    glPopMatrix();

    glutSwapBuffers();

}

int main( int argc, char**argv)

{

    glutInit( &argc,argv);

    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("HW2 bonus");


    glutDisplayFunc(display);

    glutMainLoop();

}








今天ㄉ程式碼2喔

#include <GL/glut.h>

void myTeapot(float x, float y)

{

    glPushMatrix();

        glTranslatef(x,y,0);

        glutSolidTeapot(0.3);

    glPopMatrix();

}

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(1,0,0);

    myTeapot(+0.5,+0.5);

    myTeapot(+0.5,-0.5);

    myTeapot(-0.5,-0.5);

    myTeapot(-0.5,+0.5);


    glutSwapBuffers();

}

int main( int argc, char**argv)

{

    glutInit( &argc,argv);

    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("HW2 bonus");


    glutDisplayFunc(display);

    glutMainLoop();

}













今天ㄉ程式碼3喔

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

    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("week04 mouse");

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











今天ㄉ程式碼4喔

#include <GL/glut.h>

#include <stdio.h>

int mouseX=0, mouseY=0;

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(1,1,0);

    glPushMatrix();

        glTranslatef( (mouseX-150)/150.0, -(mouseY-150)/150.0 ,0);

        glutSolidTeapot(0.3);

    glPopMatrix();

    glutSwapBuffers();

}

void mouse(int button, int state, int x, int y)

{

    //printf("%d %d %d %d\n",button, state, x, y);

    mouseX=x; mouseY=y;

}

int main( int argc, char**argv)

{

    glutInit( &argc,argv);

    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week04 mouse");


    glutDisplayFunc(display);

    glutMouseFunc(mouse);

    glutMainLoop();

}








今天ㄉ程式碼5喔

#include <GL/glut.h>

#include <stdio.h>

int mouseX=0, mouseY=0,N=0;

int mx[100],my[100];

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(1,1,0);

    glBegin(GL_LINE_LOOP);

        for(int i=0;i<N;i++){

            glVertex2f( (mx[i]-150)/150.0, -(my[i]-150)/150.0);


        }

        glEnd();

    glutSwapBuffers();

}

void mouse(int button, int state, int x, int y)

{

    mouseX=x; mouseY=y;

    if(state==GLUT_DOWN){

        printf("    glVertex2f( (%d-150)/150.0, -(%d-150)/150.0);\n",x,y);

        N++;

        mx[N-1]=x; my[N-1]=y;

    }

}

int main( int argc, char**argv)

{

    glutInit( &argc,argv);

    glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week04 mouse");


    glutDisplayFunc(display);

    glutMouseFunc(mouse);

    glutMainLoop();

}



沒有留言:

張貼留言