2022年4月25日 星期一

CY.hsin week_10

1.地圖茶壺 

    #include <opencv/highgui.h> 

    #include <opencv/cv.h>

    #include <GL/glut.h>

        int myTexture(char * filename){

            IplImage * img = cvLoadImage(filename);

            cvCvtColor(img,img, CV_BGR2RGB);

            glEnable(GL_TEXTURE_2D);

            GLuint id;

            glGenTextures(1, &id); 

            glBindTexture(GL_TEXTURE_2D, id); 

            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);

            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 

            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);

            glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img->width, img->height, 0, GL_RGB,                             

                                    GL_UNSIGNED_BYTE, img->imageData);

     return id;

    }

    void display(){

            glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

            glutSolidTeapot( 0.3 );

            glutSwapBuffers();

    }

    int main(int argc, char**argv){

        glutInit( &argc, argv );

        glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);

        glutCreateWindow("week09 texture");

        glutDisplayFunc(display);

        myTexture("earth.jpg");

        glutMainLoop();

    }

沒有留言:

張貼留言