OpenGl glutdisplyfunc [Résolu]

ropars 9 Messages postés mardi 4 juillet 2006Date d'inscription 30 août 2006 Dernière intervention - 27 août 2006 à 21:22 - Dernière réponse : ropars 9 Messages postés mardi 4 juillet 2006Date d'inscription 30 août 2006 Dernière intervention
- 30 août 2006 à 15:57
Je debute en openGL(sous DEV-C++). Tous les tutoriaux que je consulte donnent en premier exemple l'affichage d'un polygone dont les sommets sont definis par des valeurs numeriques donnees dans l'implementation de la fonction d'affichage appelee par glutDisplayFunc.
  exemple:


void display(void)
{
   glClear (GL_COLOR_BUFFER_BIT);
  
   glBegin(GL_POLYGON);
   glColor3f (1.0, 0.0, 0.0);
      glVertex3f (0.25, 0.25, 0.0);
   glColor3f (0.0, 1.0, 0.0);   
      glVertex3f (0.75, 0.25, 0.0);
   glColor3f (0.0, 0.0, 1.0);  
      glVertex3f (0.75, 0.75, 0.0);
      //glVertex3f (0.25, 0.75, 0.0);
   glEnd();


   glutSwapBuffers();
}


Comment fournir a l'instruction glVertex3f des parametres qui soient des variables sous la forme glVertex(x,y,z)? c'est variables etant transmises a la fonction par exemple:
  de la fonction main (avec ou sans calcul preliminaire)
  de valeurs issues du clavier ou de la position de la souris.


Merci
Afficher la suite 

Votre réponse

6 réponses

luhtor 2023 Messages postés mardi 24 septembre 2002Date d'inscription 28 juillet 2008 Dernière intervention - 27 août 2006 à 21:28
+3
Utile
float x = 1.0f;

glVertex3f(x, 0.0f, 0.0f);
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de luhtor
ropars 9 Messages postés mardi 4 juillet 2006Date d'inscription 30 août 2006 Dernière intervention - 29 août 2006 à 10:16
+3
Utile
Reponse a luhtor

Merci mais dans ta solution la valeur de x est fixee a 1.0 dans la fonction void Display.Ce que je recherche, c'est que la valeur de x ne soit pas figée, mais soit passeé a la fonction Display.
de plus je ne vois pas la signification de la lettre f apres les valeurs numeriques.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ropars
nightlord666 750 Messages postés vendredi 17 juin 2005Date d'inscription 23 mai 2007 Dernière intervention - 29 août 2006 à 10:59
+3
Utile
Le "f" à la fin du nombre signifie qu'il est de type float, et pas double (comme le "L" qui différencie les long des int).

Pour ton x, tu peut le mettre en variable globale, et le modifier dans les autres fonctions.

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de nightlord666
luhtor 2023 Messages postés mardi 24 septembre 2002Date d'inscription 28 juillet 2008 Dernière intervention - 29 août 2006 à 11:07
0
Utile
Oue avec glut, ya pas le choix, faut utiliser une variable globale. C'est pas terrible comme système mais bon. C'est glut...
Commenter la réponse de luhtor
nightlord666 750 Messages postés vendredi 17 juin 2005Date d'inscription 23 mai 2007 Dernière intervention - 29 août 2006 à 11:15
0
Utile
Ben on est pas vraiment obligé de faire avec des globals, tu fait une classe en pattern Singleton, et tu en hérite pour faire ton application. Dans cette classe, on trouverait toutes les fonctions de display, qui pourraient accèder aux membres de la classe.

Sinon, reste SDL qui est pas mal non plus

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
Commenter la réponse de nightlord666
ropars 9 Messages postés mardi 4 juillet 2006Date d'inscription 30 août 2006 Dernière intervention - 30 août 2006 à 15:57
0
Utile
Merci.
Avec les variables globales ç'a marche.cela m'a aussi permi d'approfondire les notions de variables globales que je connaissais mal, mais je debute. Quant a la classe pattern singleton, ce sera pour plus tard, mais merci quand meme
Commenter la réponse de ropars

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.