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

Auteur Sujet: [résolu] opengl et texte  (Lu 2703 fois)

0 Membres et 1 Invité sur ce sujet

kripteks

  • Newbie
  • *
  • Messages: 24
    • Voir le profil
[résolu] opengl et texte
« le: Janvier 26, 2013, 04:09:02 pm »
Salut à tous.
Je débutes dans opengl et en même temps sur sfml 2.

J'ai sfml 2 rc, opengl 3, codeblocks.
Mon but est de faire un triangle en opengl 3 et d'afficher un texte à l'aide de sfml.

Séparément, les deux fonctionne.
Mais une fois que je les fait fonctionner en même temps, le texte s'affiche mais pas le triangle.

A savoir qu'à un moment de lag lors d'un teste, je penses avoir vu le triangle avant que le texte prend le dessus.

#include <SFML/Graphics.hpp>
#define GL3_PROTOTYPES 1
#include <SFML/OpenGL.hpp> // modification fait: remplacer GL/gl.h par GL/gl3.h dans le fichier /usr/local/include/SFML/OpenGL.hpp !

int main()
{
    // configuration du context opengl
    sf::ContextSettings settings;
    settings.depthBits = 24;
    settings.stencilBits = 8;
    settings.antialiasingLevel = 16;
    settings.majorVersion = 3;
    settings.minorVersion = 3;

    // création de la fenêtre
    sf::RenderWindow window(sf::VideoMode(600, 400), "OpenGL", sf::Style::Default, settings);

    // réglage de la syncrhonisation vérticale
    window.setVerticalSyncEnabled(true);

    // chargement texte
    sf::Font font;
    if (!font.loadFromFile("files/font/Arial.ttf"))
         return EXIT_FAILURE;
    sf::Text text("salut mes sauveurs", font, 16);

    // la boucle principale
    bool bouclePrincipale = true;
    while (bouclePrincipale)
    {
        // gestion des évènnements
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
            {
                // fermeture fenêtre si boutoun fermeture cliquer
                bouclePrincipale = false;
            }
        }

        // effacement des tampons de couleur/profondeur
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

        // création triangle opengl 3
        float vertices[] = {-0.5, -0.5,   0.0, 0.5,   0.5, -0.5};
        glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, vertices);
        glEnableVertexAttribArray(0);
        glDrawArrays(GL_TRIANGLES, 0, 3);
        glDisableVertexAttribArray(0);

        // affichage le texte
        window.draw(text);

        // termine la trame courante
        window.display();
    }
return 0;
}

Comment faire pour les mixer ?
« Modifié: Janvier 26, 2013, 07:01:20 pm par kripteks »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : opengl et texte
« Réponse #1 le: Janvier 26, 2013, 05:03:50 pm »
Il faut utiliser les fonctions pushGLStates() / popGLStates() (de RenderWindow). Il y a des exemples d'utilisation dans la documentation de l'API.
Laurent Gomila - SFML developer

kripteks

  • Newbie
  • *
  • Messages: 24
    • Voir le profil
Re : opengl et texte
« Réponse #2 le: Janvier 26, 2013, 06:57:51 pm »
remplacer:
window.draw(text);
par:
window.pushGLStates();
window.draw(text);
window.popGLStates();

Merci beaucoup sa fonctionne parfaitement maintenant.

(Sont très bien documenté les sources :) suffit de savoir quoi chercher)
(Au fait le bouton "Marquer non résolu" est fixe au cas ou)
« Modifié: Janvier 26, 2013, 07:03:22 pm par kripteks »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [résolu] opengl et texte
« Réponse #3 le: Janvier 26, 2013, 07:11:45 pm »
Citer
Au fait le bouton "Marquer non résolu" est fixe au cas ou
Hein ?
Laurent Gomila - SFML developer

kripteks

  • Newbie
  • *
  • Messages: 24
    • Voir le profil
Re : Re : [résolu] opengl et texte
« Réponse #4 le: Janvier 26, 2013, 07:28:56 pm »
Citer
Au fait le bouton "Marquer non résolu" est fixe au cas ou
Hein ?
Mdr suis trompé :-X
C'est marquer non Lu et pas résolu  ::)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [résolu] opengl et texte
« Réponse #5 le: Janvier 26, 2013, 08:18:08 pm »
C'est bien ce que je pensais :P
Laurent Gomila - SFML developer