begin process at 2012 05 29 18:40:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

pb en openGL avec GL_LINES


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb en openGL avec GL_LINES

samedi 29 décembre 2007 à 10:14:09 | pb en openGL avec GL_LINES

F0ra

Bonjour, j'ai un problème avec GL_LINES en openGL.
J'ai réalisé une fonction pour afficher une ligne.
Sur l'image, les lignes devraient se toucher :


void DrawLine(int X0,int Y0,int X1,int Y1)
{
 glPushMatrix();
 glEnable(GL_TEXTURE_2D);
 glEnable(GL_BLEND);
 glBegin(GL_LINES);
  glVertex3f( Y0, 0.0f, -X0);
  glVertex3f( Y1, 0.0f, -X1);
  glEnd();
 glDisable(GL_BLEND);
 glPopMatrix();
}

 
...
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
g_Camera.Look();
gluLookAt( 1, 0, 0, 0,0, 0,   0, 1, 0);

      for(int j = 0; j <100; j++)  DrawLine(300,300+j,  400  ,300+j);
SwapBuffers(g_hDC); 
...

Pourquoi je n'utilise pas GL_QUARDS ?
Dans mon programme j'ai besoin  d'afficher une ligne, et parfois elles sont proches.
j'ai  quand même esayé avec GL_QUARDS, et je constate qu'il y a une ligne disparais aussi.

Comment faire pour résoudre se problème ?
Merci beaucoup
@+

lundi 31 décembre 2007 à 13:00:51 | Re : pb en openGL avec GL_LINES

luhtor

GL_QUARDS ? n'existe pas.GL_ QUADS oui.

L'explication de ton problème ? simple ... ca vient de ta matrice de projection. Tu l'initialises comment ?
lundi 31 décembre 2007 à 14:02:27 | Re : pb en openGL avec GL_LINES

F0ra

Bonjour,
Merci d'avoir répondu
Si tu me parles de ça :
void SizeOpenGLScreen(int width, int height)
{
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity(); 
gluPerspective(45.0f,(GLfloat)width/(GLfloat)height, 1 ,5500.0f);
}
et :
float ee=1000.0f;
float hh=360;
float vv=ee/2-60;
g_Camera.PositionCamera(vv, ee,hh,   vv ,0, hh-0.1f,       0.0f, 1.0f, 0.0f);

Je ne peux pas vraiment trop changer ses paramètres, sinon, ça va tout me décaler dans mon jeu.
[ Lien ]

Je suis impatient de connaître ta solution.
Merci
@+

lundi 31 décembre 2007 à 14:05:53 | Re : pb en openGL avec GL_LINES

F0ra

ha oui, j'ai esayé avec glVertex2f
je n'y arrive pas

lundi 31 décembre 2007 à 14:12:56 | Re : pb en openGL avec GL_LINES

luhtor

Bon avant de te répondre, c'est quoi l'intéret de tracer 100 lignes collées ? Pourquoi ne traces tu pas directement un rectangle plein ?
lundi 31 décembre 2007 à 14:19:10 | Re : pb en openGL avec GL_LINES

F0ra

Je constate au dessus des chars quand ils se déplacent, avec un rectangle plein ou non,Il y a une ligne qui disparaît.
Donc, j'ai fais un programme test et simple et je constate qu'il y a le même problème a l'affichage.

lundi 31 décembre 2007 à 14:25:03 | Re : pb en openGL avec GL_LINES

luhtor

gluPerspective(45.0f,(GLfloat)width/(GLfloat)height, 1 ,5500.0f);
=> Avec une matrice de projection comme ca, tu ne pourras jamais etre certain qu'il n'y est pas de trou entre tes lignes... Pk ? car il n'y a aucun rapport entre les coordonnées objets et les coordonnées écran. Donc 1 unité objet n'a jamais et ne fera jamais 1 pixel (sauf avec des matrices de projection prévue pour).

Donc laisse tombé ton test, et montre nous le réel problème. Tu as une screen que t'as lignes qui disparait et une description plus précise du problème ?
lundi 31 décembre 2007 à 14:36:28 | Re : pb en openGL avec GL_LINES

F0ra

Ok, je suis d'accord.
Je t'ai déjà tout expliqué, et je ne pas changer les paramètres gluPerspective() a cause de la map. Et je dois afficher un rectangle ou une ligne avec la résolution 1280x1024.

Je dois quand même bien pouvoir réaliser un rectangle avec la résolution 1280x1024 d'une manière ou une autre.
@+
lundi 31 décembre 2007 à 14:48:53 | Re : pb en openGL avec GL_LINES

luhtor

"Je constate au dessus des chars quand ils se déplacent, avec un rectangle plein ou non,Il y a une ligne qui disparaît."
=> Ca veut dire quoi ca ? dans un rectangle plein, une ligne qui disparait, j'ai du mal à imaginer.


Sinon ton rectangle, tu veux qu'il soit placer à un endroit précis je suppose, tu connais ses coordonnées sur l'écran ou dans le répère objet ?
lundi 31 décembre 2007 à 14:58:56 | Re : pb en openGL avec GL_LINES

F0ra

UNE ligne de dessus ou dessous du rectangle disparaît. On le constate  bien avec le petit programme test quand j'incrémente de 1.
Oui, je connais les repères des objets.
Et oui, j'ai réalisé un calcul pour connaître la nouvelle résolution pour afficher.

1 2

Cette discussion est classée dans : ligne, int, opengl, gl, lines


Répondre à ce message

Sujets en rapport avec ce message

Fenetre MS DOS derrière ma fenêtre opengl [ par nisaloncaje ] ReBonjour, j'utilise dev c++ et lorsque je compile le projet fourni dans le tutorial : http://www.linuxgraphic.org/section3d/openGL/disponible ici :<A Problème avec TGA Loader [ par psykocrash ] Bonjour, J'ai commencé depuis peut la programmation avec OpenGL/GLut et j'ai trouvé la classe TGA Loader de Funto66 mais je n'arrive pas à afficher le Probleme en OpenGL [ par Ilsundal ] bonsoir, voici mon probleme, je compil ma source sans probleme, mais quand j'execute, elle s'ouvre puis se referme directe... Voici ma source : PS : Afficher un point en opengl [ par DMK04 ] Bonjour,je commence l'opengl et je n'arrive pas à afficher un point.J'ulise le code suivant :#include #include void renderScene(void) {glClear(GL_COLO Gestoin de souris en C++ [ par Wickedwolf ] Bonjour,je débute en C++ en suivant un cours d'infographie proposée dans mon cursus universitaire. Le projet de cette année consite en la création d'u PB POUR LA GESTION MULTIFENETRES [ par algeros ] Voici un code ://////////////////////////////////////////////////////////////////                                                          //   Name: C++ OpenGL => Comment fait-on un pointeur sur méthode ? [ par Phenix_ent ] Bonjour,Voilà, je développe un module graphique pour un jeu. L'OpenGL a besoin d'un pointeur sur fonction pour le display, mais ma fonction est dans u Problème avec les polygones [ par nisaloncaje ] Bonjour, j'ai le code source suivant : #include #include double a=0,inca=0.1; /* Prototype des fonctions */void affichage();void clavier(unsigned GL_MAX_LIGHTS [ par manolobis ] Bonjour à tous, toutes,Sous OpenGL et concernant les lumières on retrouve souvent les information suivantes:- Le nombre de lumières maxi dépend de l'i allocation dynamique [ par ralou ] salut tlm mon prob c est que je veux utiliser une fonction pour creer des tableaus dynamiques (langage C), mais j'arrive pas a comprendre ou a vrai d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales