Bonjour,
essayant de me remettre à la SFML, j'ai récupérer la dernière version sur le repo GitHub hier soir. J'ai compiler la bibliothèque, pas d'erreur. J'ai également compilé les exemples (en Release).
J'ai voulu faire un test en affichant du texte, et je me suis retrouvé avec le problème visible sur la capture
Comme vous pouvez le voir, le texte (Hello World!) ne s'affiche pas. Il n'y a pas d'erreur de chargement de la font.
J'ai donc essayé de lancer les exemples que j'avais compilé, et j'ai le même soucis. J'ai également les sprites qui ne s'affiche pas. Cependant, j'ai lancé l'exemple OpenGL et j'ai bien l'affichage du cube en mouvement avec la texture de bois dessus.
Ma carte graphique est une Intel HD Graphic, ainsi qu'une NVidia GeForce GT 520MX (laptot ASUS).
J'ai compilé la SFML et mon appli avec MinGW en version 3.82.90.
J'ai cherché sans trouvé de réponses. Si quelqu'un à une idée, je suis preneur.
Merci d'avance pour l'aide que vous pourrez m'apporter.
Edit: J'ai oublier le code minimal:
#include <SFML/Graphics.hpp>
#include <iostream>
int main()
{
// création de la fenêtre
sf::RenderWindow window(sf::VideoMode(800, 600), "My window");
window.setVerticalSyncEnabled(false);
sf::Font font;
if (!font.loadFromFile("arial.ttf"))
{
std::cerr << "Font not loaded : error" << std::endl;
}
sf::Text text;
// choix de la police à utiliser
text.setFont(font); // font est un sf::Font
// choix de la chaîne de caractères à afficher
text.setString("Hello world");
text.setPosition(50,50);
// choix de la taille des caractères
//text.setCharacterSize(24); // exprimée en pixels, pas en points !
// choix de la couleur du texte
text.setColor(sf::Color::Red);
// choix du style du texte
//text.setStyle(sf::Text::Bold | sf::Text::Underlined);
// on fait tourner le programme tant que la fenêtre n'a pas été fermée
while (window.isOpen())
{
// on traite tous les évènements de la fenêtre qui ont été générés depuis la dernière itération de la boucle
sf::Event event;
while (window.pollEvent(event))
{
// fermeture de la fenêtre lorsque l'utilisateur le souhaite
if (event.type == sf::Event::Closed)
window.close();
if(event.type == sf::Event::KeyPressed){
if(event.key.code == sf::Keyboard::Escape)
window.close();
}
}
// effacement de la fenêtre en noir
window.clear(sf::Color::Blue);
// c'est ici qu'on dessine tout
window.draw(text);
// fin de la frame courante, affichage de tout ce qu'on a dessiné
window.display();
}
return 0;
}