1
Graphique / Problème de taille de rectangle OpenGL chez certaines personnes
« le: Janvier 03, 2014, 05:20:04 am »
Bonjour,
Je vous fais part d'un problème d'affichage qui survient dans le menu de mon jeu chez seulement certaines personnes. En effet, je vous laisse voir par vous même l'affichage chez la majorité des personnes, et chez certaines personnes. Les parties qui s'affichent mal sont le logo en haut et l'aperçu à droite (il y a d'ailleurs du noir là où l'aperçu devrait être sur le 2e screen). Vous pouvez voir le code concernant la partie mal affichée en dessous des images (seulement pour l'aperçu à droite).
Avez-vous une idée d'où pourrait venir ce problème ? Est-ce que cela dépendrait de la version d'OpenGL supportée par la carte graphique/chipset graphique ? Je sais que les personnes qui ont eu ce problème ont soit une carte graphique soit un chipset datant de plus de 6 ans.
Merci d'avance
Je vous fais part d'un problème d'affichage qui survient dans le menu de mon jeu chez seulement certaines personnes. En effet, je vous laisse voir par vous même l'affichage chez la majorité des personnes, et chez certaines personnes. Les parties qui s'affichent mal sont le logo en haut et l'aperçu à droite (il y a d'ailleurs du noir là où l'aperçu devrait être sur le 2e screen). Vous pouvez voir le code concernant la partie mal affichée en dessous des images (seulement pour l'aperçu à droite).
sf::Vector2f m_position(400,220);
int m_width = 380;
int m_height = 360;
sf::Texture::bind(&textureApercu);
glBegin(GL_QUADS);
glColor3ub(255,255,255);
// Face avant
glTexCoord2d(0,0); glVertex3d(m_position.x, m_position.y, 0);
glTexCoord2d(1,0); glVertex3d(m_position.x + m_width, m_position.y, 0);
glTexCoord2d(1,1); glVertex3d(m_position.x + m_width, m_position.y + m_height, 0);
glTexCoord2d(0,1); glVertex3d(m_position.x, m_position.y + m_height, 0);
// Face arriere
glVertex3d(m_position.x, m_position.y, 20);
glVertex3d(m_position.x + m_width, m_position.y, 20);
glVertex3d(m_position.x + m_width, m_position.y + m_height, 20);
glVertex3d(m_position.x, m_position.y + m_height, 20);
glColor3ub(150,150,150);
// Face dessus
glVertex3d(m_position.x, m_position.y, 0);
glVertex3d(m_position.x + m_width, m_position.y, 0);
glVertex3d(m_position.x + m_width, m_position.y, 20);
glVertex3d(m_position.x, m_position.y, 20);
// Face dessous
glVertex3d(m_position.x + m_width, m_position.y + m_height, 0);
glVertex3d(m_position.x, m_position.y + m_height, 0);
glVertex3d(m_position.x, m_position.y + m_height, 20);
glVertex3d(m_position.x + m_width, m_position.y + m_height, 20);
glColor3ub(100,100,100);
// Cote gauche
glVertex3d(m_position.x, m_position.y, 0);
glVertex3d(m_position.x, m_position.y, 20);
glVertex3d(m_position.x, m_position.y + m_height, 20);
glVertex3d(m_position.x, m_position.y + m_height, 0);
// Cote droit
glVertex3d(m_position.x + m_width, m_position.y, 0);
glVertex3d(m_position.x + m_width, m_position.y, 20);
glVertex3d(m_position.x + m_width, m_position.y + m_height, 20);
glVertex3d(m_position.x + m_width, m_position.y + m_height, 0);
glEnd();
int m_width = 380;
int m_height = 360;
sf::Texture::bind(&textureApercu);
glBegin(GL_QUADS);
glColor3ub(255,255,255);
// Face avant
glTexCoord2d(0,0); glVertex3d(m_position.x, m_position.y, 0);
glTexCoord2d(1,0); glVertex3d(m_position.x + m_width, m_position.y, 0);
glTexCoord2d(1,1); glVertex3d(m_position.x + m_width, m_position.y + m_height, 0);
glTexCoord2d(0,1); glVertex3d(m_position.x, m_position.y + m_height, 0);
// Face arriere
glVertex3d(m_position.x, m_position.y, 20);
glVertex3d(m_position.x + m_width, m_position.y, 20);
glVertex3d(m_position.x + m_width, m_position.y + m_height, 20);
glVertex3d(m_position.x, m_position.y + m_height, 20);
glColor3ub(150,150,150);
// Face dessus
glVertex3d(m_position.x, m_position.y, 0);
glVertex3d(m_position.x + m_width, m_position.y, 0);
glVertex3d(m_position.x + m_width, m_position.y, 20);
glVertex3d(m_position.x, m_position.y, 20);
// Face dessous
glVertex3d(m_position.x + m_width, m_position.y + m_height, 0);
glVertex3d(m_position.x, m_position.y + m_height, 0);
glVertex3d(m_position.x, m_position.y + m_height, 20);
glVertex3d(m_position.x + m_width, m_position.y + m_height, 20);
glColor3ub(100,100,100);
// Cote gauche
glVertex3d(m_position.x, m_position.y, 0);
glVertex3d(m_position.x, m_position.y, 20);
glVertex3d(m_position.x, m_position.y + m_height, 20);
glVertex3d(m_position.x, m_position.y + m_height, 0);
// Cote droit
glVertex3d(m_position.x + m_width, m_position.y, 0);
glVertex3d(m_position.x + m_width, m_position.y, 20);
glVertex3d(m_position.x + m_width, m_position.y + m_height, 20);
glVertex3d(m_position.x + m_width, m_position.y + m_height, 0);
glEnd();
Avez-vous une idée d'où pourrait venir ce problème ? Est-ce que cela dépendrait de la version d'OpenGL supportée par la carte graphique/chipset graphique ? Je sais que les personnes qui ont eu ce problème ont soit une carte graphique soit un chipset datant de plus de 6 ans.
Merci d'avance