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

Auteur Sujet: Afficher sf::Text avec OpenGL  (Lu 1030 fois)

0 Membres et 1 Invité sur ce sujet

Lo1c74

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
Afficher sf::Text avec OpenGL
« le: Mai 07, 2018, 10:04:06 pm »
Bonsoir,

J'ai des soucis pour afficher du texte avec SFML en même temps qu'OpenGL. J'ai réalisé un test simple qui ne fonctionne pas non plus, voici le code :


#include <iostream>
#include <SFML/Graphics/RenderWindow.hpp>
#include <SFML/Window/Event.hpp>
#include <SFML/Graphics/Text.hpp>
#include <GL/glew.h>

int main(int argc, const char * argv[]) {
   
    sf::ContextSettings settings;
    settings.depthBits = 24;
    settings.majorVersion = 4;
    settings.minorVersion = 1;
    settings.attributeFlags = sf::ContextSettings::Core;
   
    sf::RenderWindow window(sf::VideoMode(2560, 1440),
                            "Tests OpenGL",
                            sf::Style::Default,
                            settings);
   
    window.setActive(true);
   
    // Init GLEW
    GLenum error = glewInit();
    if (error != GLEW_OK) {
        std::cout << "Failed to initialize GLEW : " << glewGetErrorString(error) << std::endl;
        exit(-1);
    }
   
    glViewport(0, 0, 2560, 1440);
   
    glEnable(GL_DEPTH_TEST);
   
    sf::Event event;
   
    while (window.isOpen()) {
       
        while (window.pollEvent(event)) {
            if (event.type == sf::Event::Closed) {
                window.close();
            }
        }
       
        window.pushGLStates();
       
        sf::Font font;
        sf::Text text;
        if (font.loadFromFile("./data/font/arial.ttf")) {
            text.setFont(font);
            text.setCharacterSize(25);
            text.move(10, 10);
            text.setString("fps");
            text.setFillColor(sf::Color::White);
            window.draw(text);
        } else {
            std::cout << "Failed to load font for fps counter" << std::endl;
        }
       
        window.popGLStates();
       
        window.display();
       
    }
   
    return 0;
   
}
 

J'ai essayé en ne n'utilisant pas OpenGL et cela fonctionne.
J'ai aussi ce message d'erreur : "Unable to create the context. Retrying without shared context." lors du lancement de mon application.
Malgré des recherches su internet, je n'ai pas trouvé de solutions.

Je travaille sous macOS High Sierra avec la version 2.4.1 de la SFML et GLEW 2.1.

Y-a t'il moyen de résoudre cette erreur ?

Merci d'avance  :)