Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1277 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C / Glut] Tracé de segment

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C / Glut] Tracé de segment

n°1363303
eljoundi
to Be or not to Be ?
Posté le 10-05-2006 à 14:13:04  profilanswer
 

Bonjour,
 
j'ai un petit probleme avec un bout de code d'un programme en C utilisant la librairie GLUT pour l'affichage
le but en fait est d'afficher des segments avec 2fonctions, j'ai beau essaye mais ca ne marche pas, je voudrai donc savoir si qulq'un du Forum pourrait m'aider à resoudre ce probleme assez urgent :
voila le code :
 

Code :
  1. // (x1,y1) et (x2,y2) sont 2points
  2. void dessineSegment(float x1, float y1, float x2, float y2) {
  3.   glLineWidth(3.0) ;
  4.   glBegin(GL_LINES) ;
  5.   glVertex2fx1,y1);
  6.   glColor3f(0,1,0) ;
  7.   glVertex2f(x2,y2);
  8.   glColor3f(1,0,1) ;
  9.   glEnd() ;
  10.   glLineWidth(1.0) ;
  11. }
  12. void display(float x1, float y1, float x2, float y2) {
  13.   glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
  14.   glPushMatrix();
  15.   dessineSegment(x1,y1,x2,y2) ;
  16.   glPopMatrix();
  17.   glFlush();
  18.   glutSwapBuffers() ;
  19. }


 
or cela ne m'affiche pas le segment alors que ca marche bien de cette maniere :
 

Code :
  1. void display(void) {
  2. glClearColor(0.0F,0.0F,0.0F,0.0F) ;
  3. glClear(GL_COLOR_BUFFER_BIT) ;
  4. glColor3f(1.0F,1.0F,1.0F) ;
  5. glOrtho(-1.0,1.0,-1.0,1.0,-1.0,1.0) ;
  6. // Dessin du Segment
  7. glBegin(GL_LINES) ;
  8. glVertex2f(0.5,0.5) ;
  9. glVertex2f(0.5,-0.5) ;
  10. glEnd() ;
  11. glFlush() ;
  12. }


 
mais avec le deuxieme code, je ne peux choisir mes points même en donnant des arguments à la procedure display
 
En vous remerciant d'avance


Message édité par eljoundi le 10-05-2006 à 21:55:03
mood
Publicité
Posté le 10-05-2006 à 14:13:04  profilanswer
 

n°1363371
bjone
Insert booze to continue
Posté le 10-05-2006 à 14:51:05  profilanswer
 

pb de matrice/repère/Z.
 
dans le premier cas tu clear le ZBuffer, et tu pousses des vecteurs 2D.
 
dans le deuxième cas qui marche tu clear uniquement le backbuffer (color), et tu fais un glOrtho() pour annuller la mise en perspective.
 
il faut que décide de ce que tu veux faire:
1) avec perspective ou sans ?
2) avec ZBuffer ou sans ?

n°1363731
eljoundi
to Be or not to Be ?
Posté le 10-05-2006 à 19:09:07  profilanswer
 

En fait, je veux juste avoir une fonction qui me permettra de tracer un segment tout simplement et qui prend en argumenbt les cooedonnées des points
c'est tout, et n'ayant jamais utilise GLUT j'ai trouve les fonction que j'ai mises dans mon premier poste sur le net et en les adaptant à mon code, elle marchaient pas
 
HELP !!!!!!!!!!!!!

n°1363761
bjone
Insert booze to continue
Posté le 10-05-2006 à 19:58:22  profilanswer
 

j'avais pas vu le:
 

Citation :

mais avec le deuxieme code, je ne peux choisir mes points même en donnant des arguments à la procedure display


 
heu tu sais programmer en C ?

n°1363807
eljoundi
to Be or not to Be ?
Posté le 10-05-2006 à 21:01:55  profilanswer
 

bjone a écrit :

j'avais pas vu le:
 

Citation :

mais avec le deuxieme code, je ne peux choisir mes points même en donnant des arguments à la procedure display


 
heu tu sais programmer en C ?


 
oui, mais quand j'ai modifie les fonctions, elles marchent pas  :(  
je voudrais juste savoir ce qu'il faut rectifier ici pour que ces fonctions marchent bien et m'affichent le segment entre les points (x1,y1 et (x2,y2)

Code :
  1. // (x1,y1) et (x2,y2) sont 2points
  2. void dessineSegment(float x1, float y1, float x2, float y2) {
  3.   glLineWidth(3.0);
  4.   glBegin(GL_LINES);
  5.   glVertex2fx1,y1);
  6.   glColor3f(0,1,0);
  7.   glVertex2f(x2,y2);
  8.   glColor3f(1,0,1);
  9.   glEnd();
  10.   glLineWidth(1.0);
  11. }
  12. void display(float x1, float y1, float x2, float y2) {
  13.   glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
  14.   glPushMatrix();
  15.   dessineSegment(x1,y1,x2,y2);
  16.   glPopMatrix();
  17.   glFlush();
  18.   glutSwapBuffers();
  19. }


 
je galere un peu car je n'ai jamais utilise cette librairie  :(


Message édité par eljoundi le 10-05-2006 à 21:03:08
n°1363897
bjone
Insert booze to continue
Posté le 11-05-2006 à 00:19:54  profilanswer
 

il doit te manquer le glortho()

n°1363916
eljoundi
to Be or not to Be ?
Posté le 11-05-2006 à 01:30:20  profilanswer
 

Je perds espoir franchement, j'ai essayé de combiner les deux fonction en une seule en ajoutant le glortho() , mais ca ne marche toujours pas

n°1363961
_darkalt3_
Proctopathe
Posté le 11-05-2006 à 09:34:36  profilanswer
 

eljoundi a écrit :

Je perds espoir franchement, j'ai essayé de combiner les deux fonction en une seule en ajoutant le glortho() , mais ca ne marche toujours pas


lis quelques tutoriel sur  
http://nehe.gamedev.net/, ca t'aidera, y'a des tutoriels pour la 2D notamment.
 
De plus , tu gagnera quelques notions d'opengl, ce qui ne semble pas superflu.

n°1364196
eljoundi
to Be or not to Be ?
Posté le 11-05-2006 à 13:58:30  profilanswer
 

Merci à bjone et _darkalt3_ pour votre aide, j'ai enfin réussi à resoudre le probleme et tracer ma courbe comme je veux  :)  
il fallait en fait injecter toutes les fonctions de dessin dans Display en declarant des variables globales  :)
 
 
[edit : pseudo recitfié  ;)  ]

Message cité 1 fois
Message édité par eljoundi le 11-05-2006 à 16:22:47
n°1364202
_darkalt3_
Proctopathe
Posté le 11-05-2006 à 14:04:06  profilanswer
 


 [:_darkalt3_]  
 
 
de rien :jap:

mood
Publicité
Posté le 11-05-2006 à 14:04:06  profilanswer
 

n°1364247
bjone
Insert booze to continue
Posté le 11-05-2006 à 14:59:17  profilanswer
 

mé heu :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C / Glut] Tracé de segment

 

Sujets relatifs
intercepter la trace en prologinstaller Glut sous Mandriva 2006 !!! mais comment ???
[GLUT] Probleme avec boucle while[GLUT] erreur bizarre au lancement du programme
Sources de traçé de cercle/méthodes de rotation vectorielleavec insert/select es ce que je risque d'exploser le rollback segment?
OpenGL ES/GLUT ES avec MFCs, EVC++Le tracé d'une courbe représentant une fonction
segment fault pour du C (tabl d'élément)Installer GLUT quand on est nulle
Plus de sujets relatifs à : [C / Glut] Tracé de segment


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR