Hello
alors je fais quelques tests avec OpenGL:
int main()
{
sf::RenderWindow window(sf::VideoMode(800, 600), "SFML Views");
sf::Vertex SFMLvertices[] =
{
sf::Vertex(sf::Vector2f( 0, 0), sf::Color::Blue, sf::Vector2f( 0, 0)),
sf::Vertex(sf::Vector2f( 0, 100), sf::Color::Yellow, sf::Vector2f( 0, 40)),
sf::Vertex(sf::Vector2f(100, 100), sf::Color::Red, sf::Vector2f(40, 40)),
sf::Vertex(sf::Vector2f(100, 0), sf::Color::Green, sf::Vector2f(40, 0))
};
while(1) {
window.clear();
window.draw(SFMLvertices, 4, sf::Quads); // <--- ou pas
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glTranslatef(10, 10, 0);
glColor4ub(100, 0, 0, 255);
// Disable texturing
glDisable(GL_TEXTURE_2D);
// Draw the colored rectangle
glBegin( GL_QUADS );
glVertex2f(0, 0);
glVertex2f(0, 40);
glVertex2f(40, 40);
glVertex2f(40, 0);
glEnd();
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
window.display();
}
return EXIT_SUCCESS;
}
Le carré s'affiche bien quand je ne dessine pas le VertexArray, mais quand je le dessine, c'est affiché à l'envers. (haut<->bas)
Donc ma question c'est : pourquoi? A vrai dire j'aimerai comprendre comment tout ça fonctionne et si le pb vient du code pour afficher le carré ou d'autre chose (j'ai repris ce code d'ailleurs). Je me doute que le pb vient du fait que l'origine de SFML est en haut à gauche, et de OpenGL en bas à gauche, comment ça fonctionne tout ça?
merci!