Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: Lo1c74 le Mai 07, 2018, 10:04:06 pm

Titre: Afficher sf::Text avec OpenGL
Posté par: Lo1c74 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  :)