Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: pb d'utilisation openGL  (Lu 1639 fois)

0 Membres et 1 Invité sur ce sujet

lezebulon

  • Full Member
  • ***
  • Messages: 235
    • Voir le profil
pb d'utilisation openGL
« le: Mai 29, 2012, 12:04:08 am »
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!
« Modifié: Mai 29, 2012, 12:17:40 am par lezebulon »