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

Auteur Sujet: Problème avec ImGui  (Lu 2547 fois)

0 Membres et 1 Invité sur ce sujet

DYRAZZ

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Problème avec ImGui
« le: Septembre 23, 2017, 08:02:30 pm »
Bonjour,
Depuis peut je me suis mis au SFML mais celui-ci est très restreint pour créer des applications comme photophiltre, office ou autre (vous me direz c'est normal, c'est pas fait pour...)
Mais j'ai trouvé ImGui et vu les rendus qu'il fait, j'ai trouvé cela génial...
Je problème, c'est l'installation de ImGui SFML, la personne ayant créer ce "module" à du y passer beaucoup de temps, elle était plus à une heure près pour la rendre pratique "d'installation"...
Quoi il en soit, je finis mon baratin et je vous montre mon erreur :

[code=c]Gravité        Code    Description     Projet  Fichier Ligne   État de la suppression
Erreur (active) E0276   un nom suivi de '::' doit être un nom de classe ou d'espace de noms    SFML    c:\Users\dyraz\Desktop\Perso RPG\Tuto\Im Gui test\SFML\main.cpp 11     
Erreur (active) E0276   un nom suivi de '::' doit être un nom de classe ou d'espace de noms    SFML    c:\Users\dyraz\Desktop\Perso RPG\Tuto\Im Gui test\SFML\main.cpp 17     
Erreur (active) E0276   un nom suivi de '::' doit être un nom de classe ou d'espace de noms    SFML    c:\Users\dyraz\Desktop\Perso RPG\Tuto\Im Gui test\SFML\main.cpp 24     
Erreur (active) E0276   un nom suivi de '::' doit être un nom de classe ou d'espace de noms    SFML    c:\Users\dyraz\Desktop\Perso RPG\Tuto\Im Gui test\SFML\main.cpp 34     
Erreur  C2661   'ImGui::SFML::Update' : aucune fonction surchargée ne nécessite 1 arguments   SFML    c:\users\dyraz\desktop\perso rpg\tuto\im gui test\sfml\main.cpp 24     
Avertissement   C4312   'cast de type' : la conversion de 'unsigned int' en 'void *' d'une taille supérieure   SFML    c:\imgui\include\imgui-sfml-master\imgui-sfml.cpp       335    
Avertissement   C4312   'cast de type' : la conversion de 'unsigned int' en 'void *' d'une taille supérieure   SFML    c:\imgui\include\imgui-sfml-master\imgui-sfml.cpp       360    
Avertissement   C4312   'cast de type' : la conversion de 'unsigned int' en 'void *' d'une taille supérieure   SFML    c:\imgui\include\imgui-sfml-master\imgui-sfml.cpp       376    
Avertissement   C4312   'cast de type' : la conversion de 'unsigned int' en 'void *' d'une taille supérieure   SFML    c:\imgui\include\imgui-sfml-master\imgui-sfml.cpp       570    
J'ai pourtant fait :
- Mettre le "dossier module" nommé imgui-sfml-master dans le dossier principal
- Mettre tout le imconfig.h dans le imconfig-sfml.h
- Inclure dans C/C++ TOUT le dossier principal (vs 2017)
- Tout configurer correctement SFML (j'ai pris un projet SFML qui marche)
- Ajouter les fichiers sources : "imgui", "imguidraw"et "imgui-SFML" .cpp

Bien sûr j'ai essayé de bidouiller 50 mile trucs mais rien.
Je tiens toujours car ce module c'est la vie...

Merci d'avance pour vos réponses ;)
« Modifié: Septembre 24, 2017, 10:47:10 am par DYRAZZ »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Problème avec ImGui
« Réponse #1 le: Septembre 24, 2017, 10:29:52 am »
Si tu nous montres les erreurs mais pas les lignes de code correspondantes... ça va être compliqué ;)
Laurent Gomila - SFML developer

DYRAZZ

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re: Problème avec ImGui
« Réponse #2 le: Septembre 24, 2017, 10:48:13 am »
#include "imgui.h"
#include "imgui-sfml.h"

#include <SFML/Graphics/RenderWindow.hpp>
#include <SFML/System/Clock.hpp>
#include <SFML/Window/Event.hpp>

int main() {
        sf::RenderWindow window(sf::VideoMode(640, 480), "ImGui test");
        window.setVerticalSyncEnabled(true);
        ImGui::SFML::Init(window);

        sf::Clock deltaClock;a
        while (window.isOpen()) {
                sf::Event event;
                while (window.pollEvent(event)) {
                        ImGui::SFML::ProcessEvent(event);

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

                ImGui::SFML::Update(deltaClock.restart());

                ImGui::Begin("Sample window"); // begin window
                ImGui::End(); // end window

                window.clear();
                ImGui::Render();
                window.display();
        }

        ImGui::SFML::Shutdown();
}

Souligne tout les ::SFML::

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Problème avec ImGui
« Réponse #3 le: Septembre 24, 2017, 07:46:57 pm »
Je ne vois rien de choquant. Tu devrais plutôt essayer de contacter l'auteur de ImGui-SFML (Elias Daler), ce sera plus simple.
Laurent Gomila - SFML developer

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re: Problème avec ImGui
« Réponse #4 le: Octobre 02, 2017, 05:01:13 pm »
Salut !

Je ne sais pas si tu as résolu ton problème ou pas, mais moi j'ai réussi sans soucis, je peux t'expliquer comment j'ai procédé et te passer mes fichiers.

https://github.com/Cmdu76/OlympusEngine

Dans le dossier Sources/ExtLibs/imgui, j'ai mis tous les fichiers de ImGui et j'ai configuré ImGui pour convertir les sf::Vector2f

Dans le dossier Sources/Application, j'ai deux fichiers ImGuiWrapper.cpp et ImGui.hpp, ils sont basés sur imgui-sfml d'Elias Daler, mais j'ai fait quelques changements et rajouté des classes pour gérer des fenêtres spéciales.

Si tu veux voir comment je l'ai intégré dans mon moteur, tu as le fichier Application.cpp dans le même dossier que le Wrapper.

J'avais un problème aussi, c'est que tu ne peux pas dessiner une fenêtre imgui si rien n'est dessiné à part ta fenêtre imgui (chose qui n'arrive normalement que quand tu fais un test d'intégration de bibliothèque)