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

  FORUM HardWare.fr
  Programmation
  C++

  debutant Opengl glrecti et glColor3f

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

debutant Opengl glrecti et glColor3f

n°1018233
xiluoc
un pc pour les unirs ....
Posté le 19-03-2005 à 10:24:54  profilanswer
 

:hello: ,
 
ca me dessine bien un rectangle de contour bleu, mais jaimerai qu il soit entierement bleu :/

Code :
  1. switch(type)
  2.    {
  3.         case RECTANGLE :
  4.    glColor3f(0.0, 0.0, 1.0);
  5.    glRecti(PtList[0].x, PtList[0].y,
  6.                          PtList[1].x, PtList[1].y);
  7.                          break;


 
comment faire?

mood
Publicité
Posté le 19-03-2005 à 10:24:54  profilanswer
 

n°1018254
xiluoc
un pc pour les unirs ....
Posté le 19-03-2005 à 11:10:42  profilanswer
 

up

n°1018380
Evadream -​jbd-
Posté le 19-03-2005 à 14:43:11  profilanswer
 

Je connais pas trop OpenGL, mais rajoute peut-être un :

Code :
  1. glPushAttrib(GL_POLYGON_BIT) ;
  2. glPolygonMode(GL_FRONT_AND_BACK, GL_FILL) ;
  3. // dessin du rectangle
  4. glPopAttrib() ;


Il me semble qu'il s'agit pourtant du comportement par défaut, peut-être que tu y a touché avant ?
 
@+

n°1020880
xiluoc
un pc pour les unirs ....
Posté le 22-03-2005 à 13:13:36  profilanswer
 

ok sa marche pour glrecti(ect)
mais pas dans ce cas la
 

Code :
  1. glPushAttrib(GL_POLYGON_BIT) ;
  2. glPolygonMode(GL_FRONT_AND_BACK, GL_FILL) ;  //Drawrect area is white
  3. glColor3f(0.5, 0.5, 1.0);
  4. //glRecti(circle.center.x, 200,
  5. //       454, 254);
  6. glBegin(GL_LINE_LOOP);
  7.   glVertex2i(40, 125);
  8. glVertex2i(91 , 125);
  9. glVertex2i(91 , 425);
  10. glVertex2i(((40+91)/2)    , 425 + 45);
  11. glVertex2i(40,425);
  12. glEnd();
  13. glPopAttrib() ;


l interieur ne se remplie pas.
le problem viendrait t il de la ? GL_POLYGON_BIT
merci

n°1021292
retrox
Posté le 22-03-2005 à 17:19:44  profilanswer
 

La c'est normal tu utilises une primitive de type ligne, donc GL trace des lignes. PolygonMode modifie le comportement du rasterizer, il ne change pas la nature des primitives (meme si le résultat peut le laisser croire).
 
Note : vu qu'il s'agit d'une LINE_LOOP, le tracé est fermé automatiquement entre la premiere et la derniere vertex, donc le deuxieme glVertex2i(40,425); est inutile.

n°1021562
xiluoc
un pc pour les unirs ....
Posté le 22-03-2005 à 22:14:23  profilanswer
 

y a til moyen de coloriser la forme ? parceque j utilise lini loop pour dessiner un cercle :/

n°1021577
Evadream -​jbd-
Posté le 22-03-2005 à 22:33:01  profilanswer
 

Utilise glBegin(GL_POLYGON) peut-être ?
Le glPolygonMode sera alors pris en compte.
 
Du genre :

Code :
  1. // on sauve la couleur courante, entre autres
  2. glPushAttrib(GL_CURRENT_BIT) ;
  3. /*
  4.    remplit le polygone suivant en rouge ou juste son contour
  5.    suivant glPolygonMode
  6. */
  7. glColor3f(1.f, 0.f, 0.f) ;
  8. glBegin(GL_POLYGON);
  9.     glVertex2i(40, 125);
  10.     glVertex2i(91 , 125);
  11.     glVertex2i(91 , 425);
  12.     glVertex2i(((40+91)/2)    , 425 + 45);
  13.     glVertex2i(40,425);
  14. glEnd();
  15. glPopAttrib() ; // on revient dans l'état précédent


Message édité par Evadream -jbd- le 22-03-2005 à 22:36:58
n°1021580
xiluoc
un pc pour les unirs ....
Posté le 22-03-2005 à 22:35:36  profilanswer
 

weeee ca marche merci

n°1021626
retrox
Posté le 22-03-2005 à 23:53:56  profilanswer
 

pour info : en regle générale, GL_POLYGON est à proscrire. Tu forces l'implementation à effectuer une triangulation (ce qui n'est pas forcément trivial et est relativement lent). Il vaut mieux utiliser directement des triangles ou des quads (en version discrete ou connectée (strip ou fan)). Si c'est juste pour essayer comme ça c'est pas dramatique hein, mais c'est pas une bonne habitude à prendre. Pour un disque, GL_TRIANGLE_FAN me semble un bon candidat.


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

  debutant Opengl glrecti et glColor3f

 

Sujets relatifs
[Débutant] Link avec une Dll[JAVA][débutant] Valeur aléatoire et poids
[CGI] Comment executer un script cgi... (je suis un debutant)[ C ] Archi-debutant segfault sur petit programme :-(
[Débutant] wxStyledTextCtrlModifier les bordures d'un tableau PHP (débutant inside)
debutant pb structure[Excel] débutant cherche à comparer des dates...
[AciveX et VC++] Texturing OpenGL[opengl] Recuperation d'infos sur une camera.
Plus de sujets relatifs à : debutant Opengl glrecti et glColor3f


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