2009-04-13 14 views
1

J'ai un pic.bmp que j'essaie de coller sur une surface plane rectangulaire de 3 x 2 pour une démo que je fais.Mettre en mosaïque le fichier bmp texture comme texture sur un rectangle dans OpenGL?

J'essaie de garder le ratio d'aspect de la bmp intacte mais je veux toujours le coller sur cette surface. En ce moment j'ai les surfaces sommets comme (0,0,0), (3,0,0), (0,2,0) et (3,2,0).

Comment puis-je appliquer ce BMP sur la surface plane et le coller? Quelle est la meilleure façon de le faire dans GLUT & OpenGL?

Répondre

3

Voir this NeHe lesson pour un échantillon. Pour ce faire, il suffit d'écrire carrelage quelque chose comme ceci:

glBegin(GL_QUADS); 
     // your surface 
     glTexCoord2f(0.0f, 0.0f); glVertex3f(0.0f, 0.0f, 0.0f); 
     glTexCoord2f(3.0f, 0.0f); glVertex3f(3.0f, 0.0f, 0.0f); 
     glTexCoord2f(3.0f, 2.0f); glVertex3f(3.0f, 2.0f, 0.0f); 
     glTexCoord2f(0.0f, 2.0f); glVertex3f(0.0f, 2.0f, 0.0f); 
glEnd(); 

Cela définira les coordonnées de texture à carreaux tout temps 3x2 texture sur cette surface.