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.


Messages - Raitosan

Pages: [1] 2 3 4 Suivante »
1
Graphique / Re: SFML/OpenGL - Glew
« le: Avril 28, 2017, 05:20:38 pm »
C'est pas faux x)

Sinon au cas où quelqu'un aurait le même problème, j'ai réussi à l'installer.

J'ai télécharger les sources de glew ici:
http://glew.sourceforge.net/install.html

J'ai ajouter mon compiler au PATH via une invite de commande et j'ai configurer le projet avec cmake se trouvant dans build/cmake(avec MinGW Makefile). J'ai ensuite cliquer sur générer, une erreur est apparue, mais ce n'est pas grave.
Via l'invite de commande, se placer dans le dossier où vous avez généré glew, puis faire un simple mingw32-make et mingw32-make install.

A savoir qu'avant d'ouvrir ce topic, j'avais déjà fait tout ça mais que ça n'avait pas fonctionner. J'avais laisser "Programme Files (x86)/" en répertoire d'installation.
Lors de mon second essais, j'ai installer glew dans C:\glew\ et là magie, tout fonctionne sans soucis. Peut être l'espace contenue dans "Programme Files" qui posait problème...

Voilà, désoler encore Laurent pour avoir poster ça ici.
Bon courage à ceux qui vont utiliser OpenGL :D

2
Général / [Résolu] Gestionnaire de texture et sprite blanc
« le: Avril 25, 2015, 10:32:25 am »
Salut à tous o/

Alors voici mon problème, j'ai fait un singleton pour gérer un gestionnaire de ressources, ici de texture, mais quand je récupère ma texture, mon sprite devient blanc...

Ce que je comprend pas, c'est que pourtant tout est bien stocker en mémoire, l'adresse renvoyée ne bouge pas, mais la texture est blanche... Pourtant ma texture n'est supprimée qu'à la fin du programme.

Voici mon singleton contenant le GraphicEngine qui contient les textures:
#ifndef RESSOURCESADMINISTRATOR_HPP
#define RESSOURCESADMINISTRATOR_HPP

#include <QApplication>
#include <QtWidgets>
#include <SFML/Graphics.hpp>
#include <iostream>
#include "includes/GraphicEngine.hpp"

class RessourcesAdministrator
{
    public:
        static RessourcesAdministrator* GetInstance();
        static void Kill();

        void SetGraphicEngine(GraphicEngine *graphicEngine);
        GraphicEngine* GetGraphicEngine() const;

    private:
        RessourcesAdministrator();
        ~RessourcesAdministrator();

        static RessourcesAdministrator *m_instance;
        GraphicEngine *m_graphicEngine;
};

#endif // RESSOURCESADMINISTRATOR_HPP

 
#include <sstream>
#include <string>
#include <iostream>
#include "includes/RessourcesAdministrator.hpp"

RessourcesAdministrator* RessourcesAdministrator::m_instance = RessourcesAdministrator::GetInstance();

RessourcesAdministrator::RessourcesAdministrator() : m_graphicEngine(new GraphicEngine())
{

}
RessourcesAdministrator::~RessourcesAdministrator()
{
    delete m_graphicEngine;
}
RessourcesAdministrator* RessourcesAdministrator::GetInstance()
{
    if (m_instance == nullptr)
      m_instance =  new RessourcesAdministrator;

    return m_instance;
}
void RessourcesAdministrator::Kill()
{
    if(m_instance != nullptr)
    {
      delete m_instance;
      m_instance = nullptr;
    }
}

void RessourcesAdministrator::SetGraphicEngine(GraphicEngine *graphicEngine)
{
    m_graphicEngine = graphicEngine;
}
GraphicEngine* RessourcesAdministrator::GetGraphicEngine() const
{
    return m_graphicEngine;
}
 

Voici maintenant la classe GraphicEngine:
#ifndef GRAPHICENGINE_HPP
#define GRAPHICENGINE_HPP

#include <iostream>
#include <SFML/Graphics.hpp>

class GraphicEngine
{
    public:
        GraphicEngine();
        ~GraphicEngine();

        bool LoadTilesetTexture(const std::string &path);
        sf::Texture* GetTilesetTexture(const unsigned int id); // On retourne la texture qui a pour id id

        void FreeTilesets(); // On libère la mémoire des textures Tileset
        void FreeAllTextures(); // On libère la mémoire de toutes les textures
    private:
        std::vector<sf::Texture*> m_tilesets; // Textures des tilesets
};

#endif // GRAPHICENGINE_HPP

 
#include "includes/GraphicEngine.hpp"
#include <QtWidgets>

using namespace std;

GraphicEngine::GraphicEngine()
{

}
GraphicEngine::~GraphicEngine()
{
    FreeAllTextures();
}

bool GraphicEngine::LoadTilesetTexture(const std::string &path)
{
    m_tilesets.push_back(new sf::Texture());
    cout << m_tilesets.size() << " / " << m_tilesets[0] << endl; // Teste pour connaitre l'adresse en mémoire de la texture
    if(m_tilesets.back()->loadFromFile(path))
        return true;
    else
    {
        delete m_tilesets.back();
        m_tilesets.pop_back(); // Le chargement de la texture a échouer, on supprime donc la dernière valeur du tableau que l'on vient de créer.
        return false;
    }
}
sf::Texture* GraphicEngine::GetTilesetTexture(const unsigned int id)
{
    cout << m_tilesets.size() << " / " << m_tilesets[0] << " / " << m_tilesets[id] << "(id)" << endl; // Teste pour connaitre l'adresse en mémoire de la texture

    if(id < m_tilesets.size())
        return m_tilesets[id];

    return nullptr;
}

/// ------------------------ ///
/// Libération de la mémoire ///
/// ------------------------ ///

void GraphicEngine::FreeTilesets()
{
    for(unsigned int i=0;i<m_tilesets.size();i++)
        if(m_tilesets[i] != nullptr)
            delete m_tilesets[i];
    m_tilesets.clear();
}
void GraphicEngine::FreeAllTextures()
{
    FreeTilesets();
}

/// ---------------------------------- ///
/// Fin de la libération de la mémoire ///
/// ---------------------------------- ///
 

Le retour des couts dans GraphicEngine renvoient bien:
1 / 0x15011840
1 / 0x15011840 / 0x15011840(id)

J'ai aussi fait un teste dans une classe qui récupère la texture pour l'affichée, et le GetTilesetTexture(0) renvois bien la bonne valeur...
Adresse memoire recuperer avec GetTilesetTexture(0): 0x15011840

Donc l'adresse en mémoire n'a pas l'air de bougée, ça signifie qu'on renvois bien la bonne texture..

Je fais comme ceci pour donner la texture à mon sprite:
mySprite.setTexture(*RessourcesAdministrator::GetInstance()->GetGraphicEngine()->GetTilesetTexture(0));

Quelqu'un a une idée? Car je sèche complètement pour le coup :/
Merci!

3
Fenêtrage / Re : [SFML 2.1] Position de la souris en retard?
« le: Avril 20, 2015, 09:30:09 pm »
Il faudrait essayer dans la version 2.2 voir si le problème est toujours présent :/

4
Fenêtrage / [Résolu] SFML, QT et redimensionnement de la fenêtre
« le: Avril 17, 2015, 06:45:14 pm »
Salut à tous!

Alors voilà mon problème j'utilise le code fournis par la sfml pour faire tourner un widget avec la SFML dans une interface QT. La seul différence, c'est que j'utilise QMainWindow pour créer ma fenêtre, et mon widget SFML est au centre de la fenêtre grâce à la fonction setCentralWidget();

Le problème, c'est que quand je redimensionne ma fenêtre, le widget SFML se redimensionne aussi, mais du coup, j'ai des soucis de vue. En effet, la position de la souris n'est plus correctement détectée(elle est décalée) et le widget a l'air plus petit que ce qu'il devrait :/ Au bout d'un moment, la souris n'est même plus détectée alors qu'on est toujours dans le widget.
J'ai donc essayer de remettre ma vue à la taille du widget comme ceci:

    setView(sf::View(sf::FloatRect(0, 0, frameSize().width(), frameSize().height())));

J'ai toujours le problème de taille, qui fait que la souris n'est pas correctement détectée, par contre j'ai un effet de dézoom et de déformation :/
Ce que j'aimerais, c'est que quand on change la taille de la fenêtre, le contenu du widget ne bouge pas d'un poil, mais que la zone qu'il affiche s'adapte simplement à la nouvelle taille du widget.

Je fais ça pour un éditeur de carte, l'élément central doit permettre d'afficher la carte et de la modifier. Il faut donc que cette zone ne change pas à cause d'un redimensionnement de la fenêtre :/

Merci d'avance à tous ceux qui pourront m'aider!!

Edit: En fait, la souris est bien détectée, j'ai fais quelques testes, et j'ai pu remarquer qu'en fait le problème vient du fait la zone du widget garde en permanence la même taille. En effet, quand je redimensionne la vue, si j'ai un effet de dézoom, c'est parceque la vue augmente sa taille, mais que l'affichage du widget lui reste à la même taille. Comme si la vue était plus grande que la zone affichée :/

Edit2: Problème résolu!
Pour résoudre le problème, j'ai créer un slot WidgetSizeChanged() dans mon widget SFML qui va modifier la vue en fonction de la nouvelle taille, comme ceci:
void SFMLMap::WidgetSizeChanged()
{
    m_view.setSize(frameSize().width(), frameSize().height());
    m_view.setCenter(sf::Vector2f((float)(frameSize().width()/2.f),(float)(frameSize().height())/2.f));
    setSize(sf::Vector2u(frameSize().width(), frameSize().height()));
    setView(m_view);
}
Ensuite, dans la classe de ma fenêtre(le widget QT qui créer la fenêtre du programme), j'ai créer un signal WindowSizeChanged() qui sera émis lors du redimensionnement de la fenêtre. Ce signal est émis grâce à cette fonction:
void Window::resizeEvent ( QResizeEvent * event )
{
    emit WindowSizeChanged();
}

J'ai ensuite connecter mon slot avec mon signal comme ceci:
QObject::connect(this,SIGNAL(WindowSizeChanged()),sfml_map,SLOT(WidgetSizeChanged()));

Et voilà, grâce à ça, on peux modifier la taille de la fenêtre sans se soucier du reste :)

5
Général / Re : SFML 2.2 erreurs
« le: Avril 13, 2015, 08:06:00 pm »
AHHH t'es un dieu o/

Merci, la dernière erreur que j'ai obtenu malgré avoir linker tout ça venait du fait que system n'était pas au bon endroit x)

Merci :)

6
Général / Re : SFML 2.2 erreurs
« le: Avril 13, 2015, 07:54:33 pm »
Ah ok >_>
Merci, on les inclus comment par contre du coup?

Edit: J'ai rajouter ça : LIBS += -lopenal32 -lglew -lsndfile -lwinmm -lws2_32 -lfreetype -ljpeg -lopengl32 -lgdi32
Mais maintenant j'ai des erreurs sur les thread et time/clock :/

7
Général / [Résolu] SFML 2.2 erreurs
« le: Avril 13, 2015, 07:40:09 pm »
Bonjour,
J'ai installer la SFML 2.2 sous windows 8.1 x64 (j'ai pris la version 32bits), je compile à l'aide de QT Creator car j'ai prévu de faire une application QT/SFML, mais à la compilation j'ai ce genre d'erreur:

19:29:53: Configuration inchangée, étape qmake sautée.
19:29:53: Débute : "C:\Qt\Tools\mingw491_32\bin\mingw32-make.exe"
C:/Qt/Tools/mingw491_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/Users/Vincent/Documents/QT/build-POS_Editor-Desktop_Qt_5_4_1_MinGW_32bit-Debug'
g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DSFML_STATIC -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I"..\POS_Editor" -I"." -I"C:\SFML\include" -I"C:\Qt\5.4\mingw491_32\include" -I"C:\Qt\5.4\mingw491_32\include\QtWidgets" -I"C:\Qt\5.4\mingw491_32\include\QtGui" -I"C:\Qt\5.4\mingw491_32\include\QtCore" -I"debug" -I"C:\Qt\5.4\mingw491_32\mkspecs\win32-g++"  -o debug\QSFMLCanvas.o ..\POS_Editor\src\QSFMLCanvas.cpp
g++ -Wl,-subsystem,windows -mthreads -o debug\POS_Editor.exe debug/main.o debug/Window.o debug/QSFMLCanvas.o debug/SFMLMap.o  -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 -LC:/Qt/5.4/mingw491_32/lib -lqtmaind -LC:\mingw491\mingw32\lib -LC:\Utils\icu32_53_1_mingw482\lib -LC:\utils\postgresql\pgsql\lib -LC:\utils\mysql\mysql\lib -LC:\opensll\lib -lshell32 -LC:\Qt\5.4\mingw491_32/lib -LC:/SFML/lib -lsfml-audio-s-d -lsfml-graphics-s-d -lsfml-network-s-d -lsfml-system-s-d -lsfml-window-s-d -lQt5Widgetsd -lQt5Guid -lQt5Cored
C:/SFML/lib/libsfml-graphics-s-d.a(RenderWindow.cpp.obj): In function `ZNK2sf12RenderWindow7captureEv':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderWindow.cpp:92: undefined reference to `glReadPixels@28'
C:/SFML/lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `ZN2sf12RenderTarget5clearERKNS_5ColorE':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:99: undefined reference to `glClearColor@16'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:100: undefined reference to `glClear@4'
C:/SFML/lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `ZN2sf12RenderTarget4drawEPKNS_6VertexEjNS_13PrimitiveTypeERKNS_12RenderStatesE':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:269: undefined reference to `glVertexPointer@16'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:270: undefined reference to `glColorPointer@16'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:271: undefined reference to `glTexCoordPointer@16'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:280: undefined reference to `glDrawArrays@12'
C:/SFML/lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `ZN2sf12RenderTarget12pushGLStatesEv':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:299: undefined reference to `glGetError@0'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:309: undefined reference to `glPushClientAttrib@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:310: undefined reference to `glPushAttrib@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:312: undefined reference to `glMatrixMode@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:313: undefined reference to `glPushMatrix@0'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:314: undefined reference to `glMatrixMode@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:315: undefined reference to `glPushMatrix@0'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:316: undefined reference to `glMatrixMode@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:317: undefined reference to `glPushMatrix@0'
C:/SFML/lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `ZN2sf12RenderTarget11popGLStatesEv':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:329: undefined reference to `glMatrixMode@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:330: undefined reference to `glPopMatrix@0'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:331: undefined reference to `glMatrixMode@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:332: undefined reference to `glPopMatrix@0'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:333: undefined reference to `glMatrixMode@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:334: undefined reference to `glPopMatrix@0'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:336: undefined reference to `glPopClientAttrib@0'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:337: undefined reference to `glPopAttrib@0'
C:/SFML/lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `ZN2sf12RenderTarget13resetGLStatesEv':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:355: undefined reference to `__GLEW_ARB_multitexture'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:357: undefined reference to `__glewClientActiveTextureARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:358: undefined reference to `__glewActiveTextureARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:362: undefined reference to `glDisable@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:363: undefined reference to `glDisable@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:364: undefined reference to `glDisable@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:365: undefined reference to `glDisable@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:366: undefined reference to `glEnable@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:367: undefined reference to `glEnable@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:368: undefined reference to `glMatrixMode@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:369: undefined reference to `glEnableClientState@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:370: undefined reference to `glEnableClientState@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:371: undefined reference to `glEnableClientState@4'
C:/SFML/lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `ZN2sf12RenderTarget16applyCurrentViewEv':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:407: undefined reference to `glViewport@16'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:410: undefined reference to `glMatrixMode@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:411: undefined reference to `glLoadMatrixf@4'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:414: undefined reference to `glMatrixMode@4'
C:/SFML/lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `ZN2sf12RenderTarget14applyBlendModeERKNS_9BlendModeE':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:424: undefined reference to `__GLEW_EXT_blend_func_separate'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:426: undefined reference to `__glewBlendFuncSeparateEXT'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:432: undefined reference to `glBlendFunc@8'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:437: undefined reference to `__GLEW_EXT_blend_equation_separate'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:439: undefined reference to `__glewBlendEquationSeparateEXT'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:445: undefined reference to `__glewBlendEquation'
C:/SFML/lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `ZN2sf12RenderTarget14applyTransformERKNS_9TransformE':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/RenderTarget.cpp:457: undefined reference to `glLoadMatrixf@4'
C:/SFML/lib/libsfml-graphics-s-d.a(GLCheck.cpp.obj): In function `ZN2sf4priv12glCheckErrorEPKcj':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/GLCheck.cpp:40: undefined reference to `glGetError@0'
C:/SFML/lib/libsfml-graphics-s-d.a(Shader.cpp.obj): In function `checkMaxTextureUnits':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:51: undefined reference to `glGetIntegerv@8'
C:/SFML/lib/libsfml-graphics-s-d.a(Shader.cpp.obj): In function `checkShadersAvailable':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:118: undefined reference to `__GLEW_ARB_shading_language_100'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:116: undefined reference to `__GLEW_ARB_shader_objects'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:117: undefined reference to `__GLEW_ARB_vertex_shader'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:118: undefined reference to `__GLEW_ARB_fragment_shader'
C:/SFML/lib/libsfml-graphics-s-d.a(Shader.cpp.obj): In function `ZN2sf6ShaderD2Ev':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:149: undefined reference to `__glewDeleteObjectARB'
C:/SFML/lib/libsfml-graphics-s-d.a(Shader.cpp.obj): In function `ZN2sf6Shader12setParameterERKSsf':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:266: undefined reference to `__glewGetHandleARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:267: undefined reference to `__glewUseProgramObjectARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:273: undefined reference to `__glewUniform1fARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:277: undefined reference to `__glewUseProgramObjectARB'
C:/SFML/lib/libsfml-graphics-s-d.a(Shader.cpp.obj): In function `ZN2sf6Shader12setParameterERKSsff':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:290: undefined reference to `__glewGetHandleARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:291: undefined reference to `__glewUseProgramObjectARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:297: undefined reference to `__glewUniform2fARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:301: undefined reference to `__glewUseProgramObjectARB'
C:/SFML/lib/libsfml-graphics-s-d.a(Shader.cpp.obj): In function `ZN2sf6Shader12setParameterERKSsfff':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:314: undefined reference to `__glewGetHandleARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:315: undefined reference to `__glewUseProgramObjectARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:321: undefined reference to `__glewUniform3fARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:325: undefined reference to `__glewUseProgramObjectARB'
C:/SFML/lib/libsfml-graphics-s-d.a(Shader.cpp.obj): In function `ZN2sf6Shader12setParameterERKSsffff':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:338: undefined reference to `__glewGetHandleARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:339: undefined reference to `__glewUseProgramObjectARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:345: undefined reference to `__glewUniform4fARB'
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:349: undefined reference to `__glewUseProgramObjectARB'
C:/SFML/lib/libsfml-graphics-s-d.a(Shader.cpp.obj): In function `ZN2sf6Shader12setParameterERKSsRKNS_9TransformE':
C:/Users/Vincent/Documents/SFML-2.2/src/SFML/Graphics/Shader.cpp:383: undefined reference to `__glewGetHandleARB'

Bon, j'ai pas tout mis car y'a un gros paquet de lignes... x)

Tout concerne OpenGL/Glew, mais normalement sous windows on a aucune librairie de ce genre à inclure ou quoi que ce soit, donc je ne comprend pas trop l'erreur :/

Mon fichier .pro contient bien ça pourtant:
DEFINES += SFML_STATIC

INCLUDEPATH += C:/SFML/include

LIBS += -LC:/SFML/lib

CONFIG(debug, debug|release)
{
    LIBS += -lsfml-audio-s-d -lsfml-graphics-s-d -lsfml-network-s-d -lsfml-system-s-d -lsfml-window-s-d
}

Merci d'avance!

8
Fenêtrage / Re : [SFML 2.1] Position de la souris en retard?
« le: Septembre 15, 2014, 02:21:50 pm »
Toujours le même problème :/
Mais vue que j'ai le même problème sous windows, ça ne vient pas de l'os mais bien de la sfml :/

9
Fenêtrage / Re : [SFML 2.1] Position de la souris en retard?
« le: Septembre 13, 2014, 04:50:08 pm »
ça m'a l'air de fonctionner, mais ça ne donne pas trop l'impression d'être fluide :/

#include <iostream>
#include <SFML/Graphics.hpp>

using namespace std;

int main()
{
    // création de la fenêtre
    sf::RenderWindow window(sf::VideoMode(800, 600), "My window");
    window.setMouseCursorVisible(false);

    sf::Texture m_mouse_texture;
    m_mouse_texture.loadFromFile("cursor.png");
    sf::Sprite m_mouse_sprite;
    m_mouse_sprite.setTexture(m_mouse_texture);
    m_mouse_sprite.setPosition(0,0);

    sf::Vector2i mouse_pos;
    // 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::MouseMoved)
            {
                mouse_pos.x = event.mouseMove.x-400; // -400 et -300 car le curseur est centrer dans la fenêtre.
                mouse_pos.y = event.mouseMove.y-300; // Cela permet d'avoir directement les distances du vecteur
            }
        }

        m_mouse_sprite.move(mouse_pos.x,mouse_pos.y);

        // effacement de la fenêtre en noir
        window.clear(sf::Color::Black);

        window.draw(m_mouse_sprite);

        // fin de la frame courante, affichage de tout ce qu'on a dessiné
        window.display();

        sf::Mouse::setPosition(sf::Vector2i(window.getPosition().x+400,window.getPosition().y+300)); // Pour centrer le curseur dans la fenêtre
    }

    return 0;
}

sf::Mouse::setPosition n'est pas trop gourmand?

Edit: J'ai essayer dans mon programme principale, et c'est juste une horreur :/ Le sprite ne se déplace que de temps en temps, et j'ai aussi remarquer que MouseMoved vallait toujours true.
A mon avis, le fait d'utiliser sf::Mouse::setPosition met MouseMoved à true(ce qui serait compréhensible)

10
Fenêtrage / Re : [SFML 2.1] Position de la souris en retard?
« le: Septembre 13, 2014, 02:45:29 pm »
Il y a à peu près deux ans, j'ai créer la base d'un éditeur de map iso avec la sfml 1.6 sous windows. J'ai encore le programme et je l'ai tester. Et j'ai 0 décalage entre mon curseur et le sprite de ma souris :/

11
Fenêtrage / Re : [SFML 2.1] Position de la souris en retard?
« le: Septembre 13, 2014, 01:23:10 pm »
Merci pour votre aide mais le problème persiste :/
Le fait de redonner la position de l'image au curseur fait que la souris est bloquée dans le coin gauche de l'écran. Et c'est tout à fait normal. En fait, mouse_pos = sf::Mouse::getPosition(window); vaut, au début du programme 0,0. Juste après avoir récupérer ces valeurs, on repositionne directement la souris à cet emplacement sans qu'elle ait u le temps de bouger entre deux. Du coup, elle reste coincée dans le coin haut gauche de l'écran. Bien sur, on aurait le même résultat pour n'importe qu'elle autre valeur.

TheKingArthur, j'y ai réfléchis, et j'ai modifier l'image de mon sprite pour ne contenir que le curseur. L'image est donc un simple carrer de 30x30. J'ai retenter, et j'ai toujours le même problème.

Je pense en effet que ça vient d'ubuntu, mais apparemment je ne suis pas le seul à avoir le problème :/

12
Fenêtrage / Re : [SFML 2.1] Position de la souris en retard?
« le: Septembre 12, 2014, 01:00:11 am »
C'est bizarre car je n'ai pas ce problème sous un autre pc sous windows(pc moins puissant qui plus est) et je n'avais aucun problème à l'époque sous ubuntu avec la SFML 1.6 :/
On ne peux pas dire que ce problème soit vraiment gênant, mais ça donne l'impression que l'application rame, alors que pas du tout >_<

De plus, il me semblais que sf::Mouse::getPosition faisait directement appel à l'os pour connaitre la position du curseur. Avec une application qui tourne à 60fps et le fait qu'on récupère la position de la souris à chaque frame, ça nous donne 60 déplacements du sprite possible pour suivre le curseur. Donc en théorie, on ne devrais pas voir un aussi gros décalage entre les deux :/

13
Fenêtrage / Re : [SFML 2.1] Position de la souris en retard?
« le: Septembre 11, 2014, 10:31:58 pm »
Toujours le même problème :/

Avec MouseMoved mon code donne ça:
#include <SFML/Graphics.hpp>

int main()
{
    // création de la fenêtre
    sf::RenderWindow window(sf::VideoMode(800, 600), "My window");

    sf::Texture m_mouse_texture;
    m_mouse_texture.loadFromFile("cursor.png");
    sf::Sprite m_mouse_sprite;
    m_mouse_sprite.setTexture(m_mouse_texture);
    m_mouse_sprite.setTextureRect(sf::IntRect(0,0,30,30));

    int mouse_x = 0;
    int mouse_y = 0;

    // 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::MouseMoved)
            {
                mouse_x = event.mouseMove.x;
                mouse_y = event.mouseMove.y;
            }
        }

        // effacement de la fenêtre en noir
        window.clear(sf::Color::Black);

        m_mouse_sprite.setPosition(mouse_x,mouse_y);
        window.draw(m_mouse_sprite);

        // fin de la frame courante, affichage de tout ce qu'on a dessiné
        window.display();
    }

    return 0;
}
 

Et toujours le même problème :/

14
Fenêtrage / Re : [SFML 2.1] Position de la souris en retard?
« le: Septembre 10, 2014, 09:23:28 am »
Pour provoquer un tel ralentissement, avec un code aussi basique que ça? Je ne pense pas. De plus l'application tourne à 60fps sans soucis, donc ce n'est pas un problème de ralentissement. C'est plutôt comme si la fonction pour récupérer la position de la souris n'actualisais celle-ci que de temps en temps. D'où le retard entre mon curseur et mon image...

Edit: Je tiens à préciser qu'on obtient le même problème en utilisant l'event MouseMoved.

15
Fenêtrage / [SFML 2.1] Position de la souris en retard?
« le: Septembre 08, 2014, 10:57:36 pm »
Bonjour,

Je suis sous Ubuntu 14.04.

J'affiche une image pour remplacer le curseur de la souris(que je cache donc). Le problème, c'est que sf::Mouse::getPosition(window) a l'air d'être en retard...

En effet, je trouvais que mon curseur n'était pas fluide, j'ai donc rafficher le curseur du système pour voir la différence, et en effet, mon image traînais toujours derrière mon curseur... J'ai trouver ça bizarre et j'ai d'abord penser que ça venais de mon application qui devait avoir des problèmes d'optimisation, puis j'ai créer un nouveau projet et j'ai tester ce code:

 #include <iostream>
#include <SFML/System.hpp>
#include <SFML/Graphics.hpp>

using namespace std;

int main()
{
    sf::Texture m_mouse_texture;
    m_mouse_texture.loadFromFile("cursor.png");
    sf::Sprite m_mouse_sprite;
    m_mouse_sprite.setTexture(m_mouse_texture);
    m_mouse_sprite.setTextureRect(sf::IntRect(0,0,30,30));

    sf::RenderWindow window(sf::VideoMode(800, 600), "My window");

    // 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();
        }

        window.clear(sf::Color(255,255,255));
        m_mouse_sprite.setPosition(sf::Mouse::getPosition(window).x,sf::Mouse::getPosition(window).y);
        window.draw(m_mouse_sprite);
        window.display();
    }

    return 0;
}

Et toujours le même problème. Quelqu'un aurait une idée pour résoudre ce problème?

Merci d'avance!

Pages: [1] 2 3 4 Suivante »
anything