J'ai compris comment faire les morceaux de barre mais mon problème est avec le positionnement du bord inférieur de chaque pièce, je ne peux pas comprendre comment les empiler parfaitement les uns sur les autres , la plupart d'entre eux finissent par être au-dessus de l'autre, ce qui donne l'impression que la barre est mauvaise. voici ma fonction:représente un graphique à barres empilées graphiquement avec openGL en utilisant C++
void StackedBar(void)
{
// Clear the Screen
glClear(GL_COLOR_BUFFER_BIT);
float colors[6][3] = { { 1,0,0 },{ 1,1,0 },{ 0,1,0 },{ 0,1,1 },{ 1,0,1 },{0,0,1} };
float data[6] = { 20,66,42,28,71,23 };
float x = 0, y = 0;
float dy;
glBegin(GL_QUADS);
for (int i = 0; i < 6; i++) {
glColor3f(colors[i][0], colors[i][1], colors[i][2]);
dy = data[i];
glVertex2f(x, y);
glVertex2f(x + 5, y);
glVertex2f(x + 5, y + dy);
glVertex2f(x, y + dy);
y = dy;
//x +=5; incremented x just to see how the pieces are positioned
}
glEnd();
// force execution of GL commands
glFlush();
}
sortie:
result with x incremented with 5 just to see the pieces are positioned
omg je me sens si bête hahah merci beaucoup! – narlingz