期中考試
1. glPushMatrix(); //備份矩陣
2. glTranslatef(x,y,z);//移動
3. glRotatef(角度, x,y,z);//轉動
4. glScalef(x,y,z);//縮放
5. glBegin(GL_POLYGON);//開始畫
6. glColor3f(r,g,b);//色彩
7. glTexCoord2f(tx, ty);//貼圖座標
8. glNormal3f( nx,ny,nz);//打光法向量
9. glVertex3f(x,y,z);//頂點
10. glEnd();//結束畫
11. glPopMatrix(); //還原矩陣
glTexCoord2f( 0.0 , 0.0);
#include <opencv/highgui.h>
int main()
{
IplImage *img = cvLoadImage("檔名.jpg");
cvShowImage("week09",img);
cvWaitKey(0);
}
#include <opencv/highgui.h>
#include <GL/glut.h>
#include <opencv/cv.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("1.jpg");
glutMainLoop();
}

沒有留言:
張貼留言