Eclairage en OpenGL ? IMPORTANT !

cs_bubbless Messages postés 14 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 1 mars 2005 - 24 févr. 2005 à 22:16
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 - 28 févr. 2005 à 20:11
Bonjour à tous !

Je réalise actuellement un programme avec une interface en OpenGL, et, j'ai un problème ! Je voudrais mettre des images en fond d'écran. Pour cela, je dessine un rectangle, et je lui applique une texture. Le problème, c'est que dans ce cas, à l'affichage, ça devient très sombre ?? Je ne comprends pas du tout pourquoi, et comme je débute en OpenGl.. Merci d'avance de toute aide ! J'ai également une autre question : existe-t'il un moyen simple de tracer une sphère et un menu en OpenGL, en n'utilisant que ça (pas Glut ni autre, je ne peux pas....) Voici le code de la fonction de dessin :

int DrawGLMenu(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer
glLoadIdentity();
glColor3f(0.7f,0.0f,0.1f);


glTranslatef(0.0f,3.0f,-20.0f); // Move One Unit Into The Screen
// Pulsing Colors Based On The Rotation
glPrint("Menu Principal du programme");
glTranslatef(-6.0f,-2.0f,0.0f);
glPrint("1. Nouveau Jeu");
glTranslatef(-4.0f,-2.0f,0.0f);
glPrint("2. Quitter");
glTranslatef(0.0f,-2.0f,0.0f);
glPrint("3. Guide d'utilisation");
glLoadIdentity();
glColor3f(1.0f,1.0f,1.0f);
glBindTexture(GL_TEXTURE_2D, texture[3]);
glTranslatef(0.0f,0.0f,-11.0f); // Move Right 3 Units
glBegin(GL_QUADS); // Draw A Quad
glTexCoord2f(-0.5f, 0.5f);
glVertex3f(-5.5f, 4.5f, 0.0f); // Top Left
glTexCoord2f(0.5f, 0.5f);
glVertex3f( 5.5f, 4.5f, 0.0f); // Top Right
glTexCoord2f(0.5f,-0.5f);
glVertex3f( 5.5f,-4.5f, 0.0f); // Bottom Right
glTexCoord2f(-0.5f,-0.5f);
glVertex3f(-5.5f,-4.5f, 0.0f); // Bottom Left
glEnd();
return 0;
}

6 réponses

cs_PiX3L Messages postés 102 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 13 août 2005 1
25 févr. 2005 à 13:28
Tu as activé la lumière ?

Essaye de met

glDisable(GL_LIGHTING); au début de la fonction pour voir...

Sinon qu'est-ce qui devient sombre ? Le carré en fond ? Le reste ?

Sinon pour tracer une sphère simplement sans utiliser GLUT, j'pense que la manière solution c'est d'aller reviser ces maths ;)

Pour ma part je fais plusieurs cercles qui donnent une sphere...

Dans un repère 2D, les coordonnées d'une sphere de rayon I et de centre 0 correspondent à :

( cos(a)*I , sin(a)*I ) où a est un réel compris entre 0 et 2*PI...

Essaye d'adapter ça pour la 3D !

PiX3L
0
cs_PiX3L Messages postés 102 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 13 août 2005 1
25 févr. 2005 à 13:29
Je voulais dire les coordonnées d'une sphere et non d'un cercle, désolé.

PiX3L
0
cs_PiX3L Messages postés 102 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 13 août 2005 1
25 févr. 2005 à 13:33
Lol non justement je voulais dire les coordonnées d'un cercle quand je
parlais dans le repere 2D (logique non ?) ! Arg je ferai bien de me
relire des fois. Si un modérateur passe....

PiX3L
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
26 févr. 2005 à 23:36
Meeeuh non suffit d'utiliser les fonctions des quadriques de GLU, avec gluSphere() ;)

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_PiX3L Messages postés 102 Date d'inscription dimanche 27 juillet 2003 Statut Membre Dernière intervention 13 août 2005 1
28 févr. 2005 à 16:32
Pfff Mouais c'est vrai. (je ne connaissais pas cette fonction en fait :D).

Mais rien de tel que de comprendre comment c'est fait non ? ;)
PiX3L
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
28 févr. 2005 à 20:11
Ouais c'est sûr mais bon là c'est un peu abuser je trouve ^^

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
0
Rejoignez-nous