[glut] texture ?

texture ? [glut] - C++ - Programmation

Marsh Posté le 11-12-2006 à 22:00:42    

Bonjour,
 
je viens d'apprendre qu'on ne pouvait apparemment pas avec glut.
 
Je veux créer un cube, j'utilisais donc glutSolidCube, mais je ne trouve pas l'équivalent glu .. ( pour pouvoir le texturer )
 
Quelqu'un a t-il la solution ?
 
Merci

Reply

Marsh Posté le 11-12-2006 à 22:00:42   

Reply

Marsh Posté le 11-12-2006 à 22:45:21    

Tu dois faire toi-même ton cube :
 
void dessinCube(double xmin,double ymin,double zmin,double xmax,double ymax,double zmax)
{  
     glBegin(GL_QUADS);            // face
       glTexCoord2d(1,0);glVertex3d(xmin,ymax,zmin);
       glTexCoord2d(1,1);glVertex3d(xmax,ymax,zmin);
       glTexCoord2d(0,1);glVertex3d(xmax,ymin,zmin);
       glTexCoord2d(0,0);glVertex3d(xmin,ymin,zmin);
   //  glEnd();
   //  glBegin(GL_QUADS);            // dos
       glTexCoord2d(1,0);glVertex3d(xmin,ymax,zmax);
       glTexCoord2d(1,1);glVertex3d(xmax,ymax,zmax);
       glTexCoord2d(0,1);glVertex3d(xmax,ymin,zmax);
       glTexCoord2d(0,0);glVertex3d(xmin,ymin,zmax);
    // glEnd();
   //  glBegin(GL_QUADS);            // haut
       glTexCoord2d(1,0);glVertex3d(xmin,ymax,zmin);
       glTexCoord2d(1,1);glVertex3d(xmax,ymax,zmin);
       glTexCoord2d(0,1);glVertex3d(xmax,ymax,zmax);
       glTexCoord2d(0,0);glVertex3d(xmin,ymax,zmax);
    // glEnd();
    // glBegin(GL_QUADS);            // bas
       glTexCoord2d(1,0);glVertex3d(xmin,ymin,zmin);
       glTexCoord2d(1,1);glVertex3d(xmax,ymin,zmin);
       glTexCoord2d(0,1);glVertex3d(xmax,ymin,zmax);
       glTexCoord2d(0,0);glVertex3d(xmin,ymin,zmax);
    // glEnd();
    // glBegin(GL_QUADS);            // gauche
       glTexCoord2d(1,0);glVertex3d(xmin,ymax,zmin);
       glTexCoord2d(1,1);glVertex3d(xmin,ymax,zmax);
       glTexCoord2d(0,1);glVertex3d(xmin,ymin,zmax);
       glTexCoord2d(0,0);glVertex3d(xmin,ymin,zmin);
    // glEnd();
    // glBegin(GL_QUADS);            // droite
       glTexCoord2d(1,0);glVertex3d(xmax,ymax,zmin);
       glTexCoord2d(1,1);glVertex3d(xmax,ymax,zmax);
       glTexCoord2d(0,1);glVertex3d(xmax,ymin,zmax);
       glTexCoord2d(0,0);glVertex3d(xmax,ymin,zmin);
     glEnd();
 
}

Reply

Marsh Posté le 11-12-2006 à 22:49:22    

ok merci ;)

Reply

Marsh Posté le 14-12-2006 à 08:57:32    

ca marche bien pour les objets simples à dessiner, mais s'il s'agit d'objet plus compliqué comme un torus, ou une théiere, on ne peut pas les faire à la main :/

Reply

Marsh Posté le 14-12-2006 à 09:29:54    

PB- a écrit :

ca marche bien pour les objets simples à dessiner, mais s'il s'agit d'objet plus compliqué comme un torus, ou une théiere, on ne peut pas les faire à la main :/


 
Le tore si je pense, y'a des formules pour ca et tu pourrais en déduire les coordonnées de texture.
Pour la théière c'est plus mal barré.


---------------
Töp of the plöp
Reply

Marsh Posté le 14-12-2006 à 09:44:14    

c'est pour ca.
Mais s'il n'y pas ni ces fonctions avec glu, et qu'on ne peut pas appliquer de texture avec glut c'est vraiment dommage.

Reply

Marsh Posté le 14-12-2006 à 17:16:21    

Salut,
 
   Ben pour les trucs plus compliqué comme les cylindres, sphères, disques,... il y a les quadrics, qui permettent de faire simplement le texturage et le calcul des normales. C'est décrit chez Nehe : http://nehe.gamedev.net/data/lesso [...] ?lesson=18 Par compte c'est vrai que pour le cube il a fait comme décrit précédemment.

Reply

Marsh Posté le 15-12-2006 à 09:16:16    

merci de ton aide ( très bon site )

Reply

Marsh Posté le 15-12-2006 à 22:54:36    

a l'époque ou j'utilisais glut, j'avais posé à peut près la même question sur ce forum et on m'avait répondu:
 
Regarde du coté de la génération automatique des coordonnées :
glTexGen  
glEnable/glDisable GL_TEXTURE_GEN_S (_T _Q _R si besoin)
 
Je n'ai jamais eu l'occasion d'essayer, j'ai laissé tomber glut pour la SDL.
Cependant si ca peut t'aider...

Reply

Marsh Posté le 16-12-2006 à 10:43:32    

Après y'a toujours la solution de lib3DS, histoire de ne plus être embêté avec la modélisation de meshes.

Reply

Marsh Posté le 16-12-2006 à 10:43:32   

Reply

Marsh Posté le 16-12-2006 à 13:02:09    

je vais essayer de regarder ca, mais je pense que je vais rester sur glu
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed