Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - Lo1c74

Pages: [1]
1
Graphique / 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  :)

Pages: [1]