Alors j'essaie de rendre mon programme en mode paysage ... mais je suis confronté à un problème que j'ai de la difficulté à résoudre. Pour descendre sur ma carte, je dois avoir un décalage négatif. Si je garde le yOffset positif actuel de 100 alors la carte défile vers le bas au lieu de monter. Pourquoi est-ce? Je ne suis pas content d'avoir à mettre des coeurs négatifs pour voir la carte. Y a-t-il un moyen de renverser cela pour que la carte défile dans la direction opposée quand yOffset est positif?Pourquoi mes coordonnées y sont-elles inversées?
float yOffset = 100;
float xOffset = 0;
glOrthof(0 - yOffset,
320 - yOffset,
480 + xOffset,
0 + xOffset,
-10000.0f,10000.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(320.0f, 0.0f, 0.0f);
glRotatef(90.0, 0.0, 0.0, 1.0);
static const GLfloat squareVertices[] = {
0.0f, 0.0f,
1024.0f, 0.0f,
0.0f, 1024.0f,
1024.0f, 1024.0f
};
static const GLfloat texCoords[] = {
0.0, 1.0,
1.0, 1.0,
0.0, 0.0,
1.0, 0.0
};
glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_TEXTURE_2D);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
glVertexPointer(2, GL_FLOAT, 0, squareVertices);
glBindTexture(GL_TEXTURE_2D, mapTexture);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisable(GL_TEXTURE_2D);
glDisable(GL_BLEND);
Veuillez ne pas changer votre direction y. Juste vivre avec le système de coordonnées ajusté. –
Je ne le recommanderais pas non plus, mais il répond à sa question. – luke
Si vous faites cela, et que vous êtes de retour face à l'abattage, assurez-vous d'inverser l'ordre de vos points de polygone. Au lieu de dans le sens antihoraire, ils devront aller dans le sens des aiguilles d'une montre. –