Triangle de mappage de texture OpenGL

Je suis en train de travailler sur un projet à l'aide du Marching Cubes algorithme et la modification de données dans un modèle 3D. Maintenant je veux utiliser le mappage des textures en OpenGL pour mon modèle 3D. J'ai essayé un exemple simple, pour commencer, qui associe une image sur un triangle.

Voici mon code:

int DrawGLScene(GLvoid)    //Here's Where We Do All The Drawing
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //Clear Screen And Depth Buffer
    glLoadIdentity();                            //Reset The Current Matrix
    glTranslatef(1.0f,0.0f,-6.0f);               //Move Into The Screen 5 Units
    glRotatef(xrot,1.0f,0.0f,0.0f);              //Rotate On The X Axis
    glRotatef(yrot,0.0f,1.0f,0.0f);              //Rotate On The Y Axis
    glRotatef(zrot,0.0f,0.0f,1.0f);              //Rotate On The Z Axis
    glBindTexture(GL_TEXTURE_2D, texture[0]);    //Select Our Texture
    glBegin(GL_TRIANGLES);

    glTexCoord2f(0, 0); glVertex3f( -2,  0, -2 );
    glTexCoord2f(1, 0); glVertex3f(  2,  0, -2 );
    glTexCoord2f(0.5, 1); glVertex3f(  0,  2, -2 );

    glEnd();

    xrot+=0.3f;                             //X Axis Rotation
    yrot+=0.2f;                             //Y Axis Rotation
    zrot+=0.4f;                             //Z Axis Rotation
    return true;                            //Keep Going
} 

Maintenant, le problème, c'est que la photo ne correspond pas entièrement à l'intérieur du triangle, et le programme de couper l'image pour le triangle, je suis donc de perdre une partie de mes données.
Comment puis-je faire correspondre l'ensemble de l'image dans le triangle?

Je ne suis pas sûr que je suis de vous suivre. Vous avez créé un triangle avec des coordonnées de texture. La texture elle-même est un rectangle. Si vous êtes plus ou moins la coupe d'une forme triangulaire de la texture de vos cheveux. Quel est le problème? Qu'essayez-vous de réaliser? Pourriez-vous illustrer?
Continue ce que @Bart dit, vous ne pouvez pas avoir tous d'un rectangle de texture mappée à un triangle sans avoir des distorsions majeures ou importantes de texture, espace. Il suffit d'ajouter un plus de coordonnées de texture et un nouveau sommet et vous serez en mesure de tirer l'ensemble de la texture.

OriginalL'auteur user261002 | 2011-11-24