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 - Reycan

Pages: [1] 2 Suivante »
1
Fenêtrage / Re : Fenêtre fixée au bureau
« le: Janvier 10, 2014, 12:42:12 pm »
Oui je connais les style et non je ne veux pas d'une fenêtre fullscreen.
Je veux quelle reste en mode fenêtrage mais également en mode "Agrandir" dès le départ.

Voici les résultats quand j'obtiens sur Windows 7
Version de départ  :


Version quand on clic sur le bouton agrandir


Tout d'abord, ne faites pas attention aux bandes noires sur les côtés gauche et droite de la 2ème image. J'ai simplement une méthode qui permet de mettre à jour ma vue pour garder le même ratio W/H.

Ce que j'aimerais avoir, c'est démarrer mon application directement avec la deuxième image.
J'aimerais forcé un "Agrandir".

2
Fenêtrage / Fenêtre fixée au bureau
« le: Janvier 08, 2014, 10:23:30 pm »
Bonjour,

J'ai créer une fenêtre de 1920*1080 (la taille de la résolution de mon écran) et évidemment elle déborde à cause du menu démarrer , titleBar , etc.
Quand je l'a resize, elle se fixe correctemment sur mon bureau et je vois que la taille de ma fenêtre est de 1920*1018.

Je retente ma chance avec une fenêtre de 1920*1018. Elle n'est pas fixée au bureau, elle est positionnée avec un certain offset par rapport au coin sup-gauche. Je peux évidemment l'agrandir pour cette fois avoir la même taille mais fixée au bureau.

J'ai même essayé de placer avec setPosition ma fenêtre en 0,0 mais j'ai l'impression que je dois carrémment faire un setPosition dans les négatifs.

Enfin bref, j'aimerai savoir si c'était possible d'arriver dans cet état automatiquement en ouvrant ma fenêtre.
Je cherche mais je sais pas s'il y a un terme technique qui décrit qu'une fenêtre est fixée au bureau Windows.

3
Bonjour,

J'aurai voulu savoir si le v1.0 était compatible avec SFML 2.1

Ici j'ai essayé avec Windows (MinGW/Code::Blocks)  32 bits   sfeMovie-1.0-windows-mingw.zip (7.1MB)

Je travaille sur Code::Blocks avec une lib SFML 2.1 pour GCC 4.7 mingw 32bits sous windows.
Je travaille sous l'OS windows 7 64bits.
J'ai ajouter les path pour les includes et les libs.

Le Link libraries de mon projet:
sfml-graphics
sfml-window
sfml-system
opengl32
glu32
sfml-network
sfml-audio
sfeMovie

J'ai test le code d'exemple à disposition sur le site de sfe::Movie et j'obtiens un segmentation fault au démarrage de l'application.
Voici ma Call stack :
#0 689816F0   sf::Mutex::Mutex() () (E:\Projet\bin\Debug\sfml-system-2.dll:??)
#1 01BA4004   first_atexit() (E:\sfeMovie-1.0-windows-mingw\sfeMovie-1.0-windows-mingw\lib\libsfeMovie.dll:??)
#2 01B5D130   _rt_psrelocs_start() (E:\sfeMovie-1.0-windows-mingw\sfeMovie-1.0-windows-mingw\lib\libsfeMovie.dll:??)
#3 6FCC5740   ??() (E:\Projet\bin\Debug\libstdc++-6.dll:??)
#4 017410F3   DllMainCRTStartup@12(hDll=0x1740000, dwReason=1, lpReserved=0x28fd24) (../mingw/dllcrt1.c:83)
#5 771999A0   ntdll!RtlpNtMakeTemporaryKey() (C:\Windows\system32\ntdll.dll:??)
#6 00000000   0x01740000 in ??() (??:??)
#7 7719D939   ntdll!RtlEmptyAtomTable() (C:\Windows\system32\ntdll.dll:??)
#8 01741058   __dll_exit() (../mingw/dllcrt1.c:158)
#9 771A686C   ntdll!RtlStatMemoryStream() (C:\Windows\system32\ntdll.dll:??)
#10 00000000   0x0028fd24 in ??() (??:??)
#11 771A5326   ntdll!TpCaptureCaller() (C:\Windows\system32\ntdll.dll:??)
#12 00000000   0x0028fd24 in ??() (??:??)
#13 77199EF9   ntdll!RtlpNtSetValueKey() (C:\Windows\system32\ntdll.dll:??)
#14 00000000   0x0028fd24 in ??() (??:??)
#15 00000000   0x00000000 in ??() (??:??)

4
Général / Re : Complétement paumé
« le: Décembre 29, 2013, 02:41:24 pm »
C'est SFML et pas SMFL (x2). Vérifie si tu n'a pas généralisé cette faute de frappe sur visual studio.

5
Général / Re : Faire sauter un personnage
« le: Décembre 07, 2013, 07:02:43 pm »
J'ai déjà été confronté à cet exercice, voici un tuto qui explique assez bien 3 techniques différentes :
http://fr.openclassrooms.com/informatique/cours/les-sauts-2d-en-c


6
Graphique / Re : Bug contour mapping
« le: Octobre 01, 2013, 03:29:34 pm »
Bon problème venait du fait que je superpose les bords transparent de mes tiles.

Cette commande glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA) a résolu mon problème d'affichage.

7
Graphique / Re : Bug contour mapping
« le: Octobre 01, 2013, 11:51:17 am »
J'ai essayé avec mWindow.setView(mWindow.getDefaultView()); juste avant de dessiné, mais les lignes sont toujours là. D'ailleurs pourquoi la vue devrait avoir des coordonnées entières alors que SFML propose de faire d'y appliquer des move avec des Vector2f ?

8
Graphique / Re : Bug contour mapping
« le: Octobre 01, 2013, 11:38:21 am »
J'utilise des vertex array avec des floats mais j'ai des tiles de 64*32 qui sont bien positionnés selon des valeurs entières. Par contre, je vais regarder au niveau de ma view.

9
Graphique / [Résolu] Bug contour mapping
« le: Octobre 01, 2013, 11:09:28 am »
Bonjour,

J'ai un petit soucis avec mes textures. Quand je les collent les unes à côté des autres, il y a un bord gris qui s'affiche, ce qui donne un quadrillage non souhaité.

Voici mon tile de test :


Voici le résultat obtenu :


J'ai fait un peu de recherche, et j'ai cru comprendre que OpenGL faisait une sorte de filtering sur les bords. Certains ont résolu un problème similaire en utilisant setSmooth(false), malheureusement cela n'a aucun effet chez moi.

10
Général / [Résolu] Canvas QT
« le: Septembre 18, 2013, 08:46:37 pm »
Bonjour,
J'essaye de créer un Widget SFML dans ma fenetre QT.
J'utilise SFML 2.1 et Qt 5.0.2, le tout sous Qt Creator.

J'ai suivi le tuto pour faire le canvas mais j'ai un petit problème.
Dans le constructeur QSFMLCanvas j'utilise le méthode create(winId()); afin de créer la
fenêtre SFML avec l'indentificateur du widget mais j'ai l'impression qu'il y a un petit problème
d'héritage multiple.
Voici l'erreur :
E:\IvaEditor\IvaEditor\qsfmlcanvas.cpp:40: erreur : reference to 'create' is ambiguous

E:\SFML-master\SFML-master\include\SFML\Window\Window.hpp:141: erreur : candidates are: void sf::Window::create(sf::WindowHandle, const sf::ContextSettings&)

E:\SFML-master\SFML-master\include\SFML\Window\Window.hpp:128: error:                 void sf::Window::create(sf::VideoMode, const sf::String&, sf::Uint32, const sf::ContextSettings&)

E:\Qt\Qt5.0.2\5.0.2\mingw47_32\include\QtWidgets\qwidget.h:661: error:                 void QWidget::create(WId, bool, bool)

Comment je peux faire pour contourner ce problème ?

11
Graphique / Re : Problème de rotation, OpenGL
« le: Septembre 07, 2013, 04:56:11 pm »
C'est bon, la correction est bonne avec un exemple de code minimum. Et j'ai finalement retrouver un vieux glRotated qui traînait dans mon application.

12
Graphique / Re : [Resolu] Problème de rotation, OpenGL
« le: Septembre 07, 2013, 10:40:10 am »
Merde, ça ne marche pas, j'y ai cru car le screenshot est un peu découper mais en fesant une translation de -20 en Z, je revois mon perso avec la même rotation qu'à 45°  :'(

13
Graphique / Re : Problème de rotation, OpenGL
« le: Septembre 07, 2013, 09:59:23 am »
Bon, j'ai trouvé et corrigé mon erreur :

if (!m_transformUpdated)
    {
        float a = 2.f / m_size.x;
        float b = -2.f / m_size.y;
        float c = -2.f / (mFarVal - mNearVal);

        float d = -a * m_center.x;
        float e = -b * m_center.y;
        float f = -((mFarVal + mNearVal) / (mFarVal - mNearVal));


        m_transform = Transform3D(a, 0, 0, d,
                                  0, b, 0, e,
                                  0, 0, c, f,
                                  0, 0, 0, 1);

        m_transformUpdated = true;
    }
    return m_transform;
 

14
Graphique / Re : Problème de rotation, OpenGL
« le: Septembre 07, 2013, 09:10:18 am »
Bon au final, j'ai trouvé l'origine du problème. Et c'est bien ma vue que j'utilisais également dans une autre méthode. Je l'ai désactivé pour utiliser openGL directement avec glOrtho et ça marche.

void GLContext::applyCurrentView(const sf::Vector2u& windowSize) const
{
    sf::IntRect viewport = getViewPort(windowSize);
    int top = windowSize.y - (viewport.top + viewport.height);
    glViewport(viewport.left, top, viewport.width, viewport.height);

    // Set the projection matrix
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    //glLoadMatrixf(mView3D.getTransform3D().getMatrix());
    glOrtho(0,1024,768,0,0,500);

    // Go back to model-view mode
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}

sf::IntRect GLContext::getViewPort(const sf::Vector2u& windowSize) const
{
    float width  = static_cast<float>(windowSize.x);
    float height = static_cast<float>(windowSize.y);
    const sf::FloatRect& viewport = mView3D.getViewport();

    return sf::IntRect(static_cast<int>(0.5f + width  * viewport.left),
                   static_cast<int>(0.5f + height * viewport.top),
                   static_cast<int>(width  * viewport.width),
                   static_cast<int>(height * viewport.height));
}
 



Voici ma méthode qui calcul la matrice de ma vue :

const Transform3D& View3D::getTransform3D() const
{
    if (!m_transformUpdated)
    {
        // Projection components
        float a =  2.f / m_size.x;
        float b = -2.f / m_size.y;
        float c = -2.f / (mFarVal - mNearVal);

        float d = -a * m_center.x;
        float e = -b * m_center.y;
        float f = -c * m_center.z;

        m_transform = Transform3D(a, 0, 0, d,
                                  0, b, 0, e,
                                  0, 0, c, f,
                                  0, 0, 0, 1);

        m_transformUpdated = true;
    }
    return m_transform;
}
 

15
Graphique / [Resolu] Problème de rotation, OpenGL
« le: Septembre 07, 2013, 08:52:21 am »
Bonjour,

J'ai un problème avec mes rotations. Elles ne s'effectuent que sur un demi-cercle. J'ai implémenté une classe Transform3D et en pensant que l'erreur venaient de là, je l'ai désactivée pour tester mes rotations directement avec les fonctions glRotated d'OpenGL. Mais le soucis persiste.

Voici ma configuration OpenGL qui est assez minimal :

void GLContext::resetGLStates() const
{
    glMatrixMode(GL_PROJECTION);    // La matrice courante devient la matrice de projection
    glLoadIdentity();               // initialise la matrice courante

    //glLoadMatrixf(mView3D.getTransform3D().getMatrix());
    glOrtho(0,1024,768,0,0,500);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();

}
 

Ensuite ma fonction draw :

void SkeletonMD5::draw(sf::RenderTarget& target, RenderGLStates states3D) const
{
    if(m_modelMD5)
    {
        //glLoadMatrixf(states3D.transform3D.getMatrix());

        // Test avec les glTransfo
        glLoadIdentity();

        glTranslated(500,500,0);

        glRotated(135,0,1,0);

        glRotated(90,1,0,0);
        //**********************

        glEnable(GL_TEXTURE_2D);
        glBindTexture(GL_TEXTURE_2D, m_texture->getTextureID());

        glEnableClientState (GL_VERTEX_ARRAY); // activer le tableau pour la position des sommets
        glEnableClientState (GL_TEXTURE_COORD_ARRAY); // activer le tableau pour les coordonnées de texture des sommets
        glEnableClientState (GL_NORMAL_ARRAY); // activer le tableau des normales

        vector<mesh> meshes = m_modelMD5->getMeshes();
        Skeleton skeleton = m_modelMD5->getSkeleton();

        // Dessiner le modèle
        for (int i = 0; i < m_modelMD5->getNumMeshes(); ++i)
        {
            prepareMesh(i,meshes,skeleton); // calculer la position des sommets à partir des vertex weights

            glVertexPointer (3, GL_FLOAT, 0, &meshes[i].vertexArray[0]);

            glTexCoordPointer(2, GL_FLOAT, 0, &meshes[i].textureArray[0]);

            glNormalPointer(GL_FLOAT, 0, &meshes[i].normaleArray[0]);

            glDrawElements (GL_TRIANGLES, meshes[i].numTris * 3,
                            GL_UNSIGNED_INT, &meshes[i].vertexIndices[0]);
        }

        glDisableClientState (GL_VERTEX_ARRAY);
        glDisableClientState (GL_TEXTURE_COORD_ARRAY);
        glDisableClientState (GL_NORMAL_ARRAY);
    }
}
 

Resultat de l'affichage en modifiant les paramètres de la rotation sur l'axe Y :

glRotated(45,0,1,0) :



glRotated(90,0,1,0) :



glRotated (135,0,1,0) : ( le personnage ne tourne jamais le dos  :'( )



J'ai déjà utilisé mon loader MD5 et j'utilise cette même boucle for pour dessiner mes modèles dans un très ancien projet et je sais que j'ai déjà sû les faire tourner correctement. Enfin, ça m'énerve, je vois pas du tout ce qui cloche. Si quelqu'un aurait une idée ?

Pages: [1] 2 Suivante »