texture ? [glut] - C++ - Programmation
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();
}
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
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é.
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.
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.
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...
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.
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
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