IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SFML Discussion :

Problème avec les textures


Sujet :

SFML

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 27
    Points : 13
    Points
    13
    Par défaut Problème avec les textures
    Bonjour ! Je suis en train de m'initier à SFML 2.0 avec VS12 mais j'ai malheureusement un problème dans mon code :/

    J'ai fait un programme tout simple avec un main et j'ai repéré l'endroit qui posait problème mais je ne sais pas à quoi c'est dû !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	sf::Window window(sf::VideoMode(800, 600), "My window");
    	sf::Sprite Sprite;
    	sf::Texture texture;
     
    	texture.loadFromFile("Smiley.jpg");
    	Sprite.setTexture(texture);
    Comme vous avez dû le comprendre, j'aimerais charger une image JPEG et l'afficher sur mon écran. Mais lorsque je lance mon programme, j'ai ce message d'erreur:

    Exception non gérée à 0x6E39DCF8 (msvcr110.dll) dans AutoBattle.exe*: 0xC0000005*: Violation d'accès lors de la lecture de l'emplacement 0x00441000.
    Puis est pointé dans un fichier appelé memcpy.asm

    rep movsd ;N - move all of our dwords
    Voilà, peut être est-ce une erreur toute bête en C++ mais veuillez m'en excuser je suis un programmeur Java s'initiant au vaste monde du C++

    Les messages d'erreur en sortie sont les suivants:

    'AutoBattle.exe' (Win32)*: Chargé 'C:\Users\Utilisateur\Documents\Visual Studio 2012\Projects\AutoBattle\Debug\AutoBattle.exe'. Les symboles ont été chargés.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\ntdll.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'D:\Programmes\AVAST Software\Avast\snxhk.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\kernel32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\KernelBase.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Users\Utilisateur\Documents\Visual Studio 2012\Projects\AutoBattle\Debug\sfml-graphics-2.dll'. Le module a été généré sans symboles.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Users\Utilisateur\Documents\Visual Studio 2012\Projects\AutoBattle\Debug\sfml-window-2.dll'. Le module a été généré sans symboles.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Users\Utilisateur\Documents\Visual Studio 2012\Projects\AutoBattle\Debug\sfml-system-2.dll'. Le module a été généré sans symboles.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msvcr110.dll'. Les symboles ont été chargés.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msvcp110.dll'. Les symboles ont été chargés.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\opengl32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msvcrt.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\advapi32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\sechost.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\rpcrt4.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\sspicli.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\cryptbase.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\gdi32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\user32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\lpk.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\usp10.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\glu32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\ddraw.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\dciman32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\setupapi.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\cfgmgr32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\oleaut32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\ole32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\devobj.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\dwmapi.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\winmm.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msvcp110d.dll'. Les symboles ont été chargés.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msvcr110d.dll'. Les symboles ont été chargés.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\imm32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msctf.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\uxtheme.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\atiglpxx.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\atioglxx.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\version.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\ws2_32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\nsi.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\atigktxx.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\aticfx32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\atiadlxy.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\wintrust.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\crypt32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\msasn1.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\dinput.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\hid.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Chargé 'C:\Windows\SysWOW64\ole32.dll'. Impossible de trouver ou d'ouvrir le fichier PDB.
    'AutoBattle.exe' (Win32)*: Déchargé 'C:\Windows\SysWOW64\ole32.dll'
    Exception de première chance à 0x6E39DCF8 (msvcr110.dll) dans AutoBattle.exe*: 0xC0000005*: Violation d'accès lors de la lecture de l'emplacement 0x00441000.
    Exception non gérée à 0x6E39DCF8 (msvcr110.dll) dans AutoBattle.exe*: 0xC0000005*: Violation d'accès lors de la lecture de l'emplacement 0x00441000.
    Exception de première chance à 0x6E39DCF8 (msvcr110.dll) dans AutoBattle.exe*: 0xC0000005*: Violation d'accès lors de la lecture de l'emplacement 0x00441000.
    Exception non gérée à 0x6E39DCF8 (msvcr110.dll) dans AutoBattle.exe*: 0xC0000005*: Violation d'accès lors de la lecture de l'emplacement 0x00441000.
    Le thread 0x1c6c s'est arrêté avec le code 0 (0x0).
    Le programme '[4912] AutoBattle.exe' s'est arrêté avec le code 0 (0x0).
    Par ailleurs si vous souhaitez l'intégralité de mon main le voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    int main()
    {
    	sf::Window window(sf::VideoMode(800, 600), "My window");
    	sf::Sprite Sprite;
    	sf::Texture texture;
     
    	texture.loadFromFile("Smiley.jpg");
    	Sprite.setTexture(texture);
    	Sprite.setColor(sf::Color(0, 255, 255, 128));
    	Sprite.setPosition(200.0f,100.f);
    	Sprite.setPosition(200.f, 100.f);
    	Sprite.setRotation(30.f);
    	Sprite.setOrigin(0, 0);
    	Sprite.setScale(2.f,0.5f);
    	Sprite.setScale(2.f, 0.5f);
    	Sprite.move(10, 5);
    	Sprite.rotate(90);
    	Sprite.scale(1.5f, 1.5f);
    	Sprite.setScale(60,100);
     
        // on fait tourner le programme jusqu'à ce que la fenêtre soit fermée
        while (window.isOpen())
        {
            // on inspecte tous les évènements de la fenêtre qui ont été émis depuis la précédente itération
            sf::Event event;
            while (window.pollEvent(event))
            {
                // évènement "fermeture demandée" : on ferme la fenêtre
                if (event.type == sf::Event::Closed)
                    window.close();
            }
        }
     
        return 0;
    }
    Par ailleurs, la SFML 2.0 étant nouvelle et n'ayant pas encore un tuto complet pour cette version sur le site officiel, auriez-vous des tutoriels complets à me conseiller ?

    Je vous remercie d'avance !

  2. #2
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut
    Il faut que tu recompiles la SFML toi-même.

    Les tutos officiels du site sont largement suffisants pour commencer^^. Et ils sont plutôt bien à jouer à vrai dire (en tout cas en anglais).

    Tu trouveras tuto pour recompier les lib avec CMake en tapant "cmake sfml" sur google.
    Nullius in verba

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Sinon, on trouve aussi facilement des binaires pour Visual sur le net.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Bonsoir et merci de bien vouloir m'aider !

    Alors j'ai déjà une version de sfml compilé que j'ai d'ailleurs récupéré sur le forum anglais ou il était déposé plusieurs compilations différentes. J'ai par ailleurs essayé de compilé sfml moi même, le programme a généré le lib que j'ai par la suite linké dans vs12 mais on me dit que sf n'a pas de membre sprite (il n'a que des couleurs, étrange) mais ayant pris une bonne version sur le forum.
    De plus, le hello world avec un cercle vert marche très bien, c'est pour la texture que cela part en vrille. Je ne comprends vraiment pas :/

  5. #5
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par Harmonic Voir le message
    Bonsoir et merci de bien vouloir m'aider !

    Alors j'ai déjà une version de sfml compilé que j'ai d'ailleurs récupéré sur le forum anglais ou il était déposé plusieurs compilations différentes. J'ai par ailleurs essayé de compilé sfml moi même, le programme a généré le lib que j'ai par la suite linké dans vs12 mais on me dit que sf n'a pas de membre sprite (il n'a que des couleurs, étrange) mais ayant pris une bonne version sur le forum.
    De plus, le hello world avec un cercle vert marche très bien, c'est pour la texture que cela part en vrille. Je ne comprends vraiment pas :/
    alors effectivement sf n'a pas de membre sprite mais par contre Sprite oui^^.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    sf::Texture texture;
    texture.loadFromFile("toto.png");
     
    sf::Sprite sprite;
    sprite.setTexture(texture);
    Tu peux être sur que si le Hello World fonctionne, tous les problèmes que tu rencontreras seront des problèmes d'utilisations de la lib^^
    Nullius in verba

Discussions similaires

  1. [OpenGL 3.x] Problème d'initialisation avec les textures array
    Par Nikogram dans le forum OpenGL
    Réponses: 6
    Dernier message: 11/05/2014, 13h50
  2. Problème avec les textures projectives
    Par sylvain_bos dans le forum Ogre
    Réponses: 0
    Dernier message: 03/01/2011, 17h49
  3. Problème avec les textures
    Par Letinono dans le forum CUDA
    Réponses: 1
    Dernier message: 07/07/2009, 16h06
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo