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

Auteur Sujet: Crash lors du chargement de shaders  (Lu 2754 fois)

0 Membres et 1 Invité sur ce sujet

Fugius

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Crash lors du chargement de shaders
« le: Mai 24, 2017, 03:00:53 pm »
Salut, après avoir reformaté mon pc, je me suis décidé a essayer un truc avec sfml, j'ai téléchargé la dernière version et l'utilise avec visual studio code et mingw.

Voilà mon problème : je peu faire n'importe quoi tout fonctionne ... jusqu'au moment ou j'essaye de load un shader. La ça compile mais quand j'execute le .exe j'ai un jolie "le programme a cessé de fonctionner".

Je pensais que ca venait d'une erreur de mon code, donc j'ai fait un truc tout simple pour tester et dans le doute j'ai récupéré les shaders (exemples) de la doc même si ça ne devrait pas faire crash le programme.

Voici mon code de test, ca bug au niveau du "shader.loadfromfile" :

int main() {
    sf::RenderWindow window(sf::VideoMode(1200, 713), "SFML works!");

    sf::Texture tx;
    tx.loadFromFile("res/textures/deathcube.png");

    sf::RectangleShape rec;
    rec.setTexture(&tx);

    rec.setSize(sf::Vector2f(600, 713));

    sf::Shader shader;

    if (!shader.loadFromFile("res/shaders/Cube.vert", "res/shaders/Cube.frag")) {
        std::cout << "error";
    }


    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(rec);
        window.display();
    }

    return 0;
}
 

Si vous avez une idée de l'origine de ce bug, vous m'aideriez grandement.
Je travaille sous win10, mes drivers sont à jours.
Merci par avance :)

Edit : Dans le doute j'ai vérifé : "sf::Shader::isAvailable()" est vrai
« Modifié: Mai 24, 2017, 03:07:45 pm par Fugius »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Crash lors du chargement de shaders
« Réponse #1 le: Mai 24, 2017, 04:03:33 pm »
Il faudrait si possible un peu plus d'informations sur le crash (utilise ton debugger) :)
Laurent Gomila - SFML developer

Fugius

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re: Crash lors du chargement de shaders
« Réponse #2 le: Mai 24, 2017, 05:48:35 pm »
Salut, j'apprends a utiliser g++, lors du crash gdb me renvoie ca :

Program received signal SIGSEGV, Segmentation fault.
0x6fe5df15 in libstdc++-6!_ZN9__gnu_cxx9free_list8_M_clearEv () from C:\MinGW\bin\libstdc++-6.dll

(je ne comprends pas vraiment pourquoi quand j'essaye de load un shader il y aurait un pb avec libstdc++ mais bon ... x)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Crash lors du chargement de shaders
« Réponse #3 le: Mai 24, 2017, 08:43:00 pm »
Pour le savoir il faut afficher la pile d'appels ;)
Laurent Gomila - SFML developer

Fugius

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re: Crash lors du chargement de shaders
« Réponse #4 le: Mai 24, 2017, 09:19:56 pm »
Bon, je me doutais qu'il y avait un problème entre sfml et mingw avec cette histoire de libstdc++, j'ai recompilé sfml et le problème est résolu, merci pour avoir pris le temps de me répondre ! :D