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

46
Graphique / Re : Afficher un sprite
« le: Novembre 11, 2012, 04:10:22 pm »
Windows 7 Home Premium
Pour SFML2 c'est la version pré-compilé que tu donnes sur le site.
Les pilotes de la carte graphique sont à jour, c'est une NVidia Geforce GTX 650.

Ce que je ne comprend pas c'est que si j'ajoutes un second sprite, le premier s'affiche mais pas le second. Et si je n'en met qu'un, il s'affiche pas.

J'ai l'impression qu'il ne prend qu'un élément sur deux lol.

47
Graphique / [Résolu] Afficher un sprite
« le: Novembre 11, 2012, 10:39:46 am »
Bonjour,

Vu que je suis passé sur la SFML2, je fais des tests pour apprendre son utilisation, et je bute sur un problème que voici :
Dans le cadre de l'exposé que je dois rendre mercredi (exposé oral), je voulais refaire le TP du SDZ sur Mario Sokoban. Hélas je n'arrive pas à afficher un sprite.

Voici le code complet (pour l'instant qui n'est que minimal) :
#include <SFML/Graphics.hpp>

int main(void)
{
        sf::RenderWindow window(sf::VideoMode(800, 600, 32), "Tests sprites");
        sf::Texture texture;
        sf::Sprite sprite;

        texture.loadFromFile("images/caisse.jpg");
        sprite.setTexture(texture);

        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();
        window.draw(sprite);
        window.display();
    }

        return 0;
}
 

Je me retrouve avec une fenêtre vide (que du noir), par contre si je charge une autre texture et donc un autre sprite, lui il s'affiche pas mais le premier oui.

Merci d'avance pour votre aide.

P.S. : La console ne renvoi pas d'erreur, l'image est belle et bien trouvée.

48
Discussions générales / Re : SFML et exceptions
« le: Novembre 08, 2012, 04:03:56 pm »
Je pense que ça a atteint un point où Laurent ne va pas avoir le choix.

49
Graphique / Re : [SFML 2.0 RC][Linux] Problème d'affichage sur carte ATI
« le: Novembre 08, 2012, 08:30:48 am »
Je ne pense pas que le driver corrige totalement le soucis, je pense qu'ils ont contourné une partie seulement puisque avec ma carte Nvidia, j'ai pas du tout le même rendu, j'ai rien de ce qui est attendu et je pense pas que les drivers Nvidia ET ATI aient un soucis ; le problème doit être ailleurs je pense (pas forcément la SFML attention).

50
Graphique / Re : [SFML2] Position de vertexarray
« le: Novembre 07, 2012, 01:09:00 pm »
Oui, désolé j'avais mis ce commentaire pour moi en fait car finalement tout ça me sera sans doute utile plus tard en dehors de l'exposé. Je corrigerais aussi cela en rentrant ce soir.

P.S. : Avec de la chance, d'ici vendredi j'aurais terminé de préparer l'exposé, cela dit j'ai intérêt car c'est mercredi prochain l'exposé lol.

51
Graphique / Re : [SFML2] Position de vertexarray
« le: Novembre 07, 2012, 08:15:55 am »
Heu oui en effet ça peut aider, lol quel abrutis je fais. Merci, j'avais même pas fait attention. Je vais donc pouvoir continuer les codes pour l'exposé ce soir en rentrant.

52
Graphique / Re : [SFML 2.0 RC][Linux] Problème d'affichage sur carte ATI
« le: Novembre 06, 2012, 09:20:55 pm »
Crone123,

Je viens d'effectuer deux tests : un sur le PC de ma mère avec carte graphique ATI (le portable est récent, il date d'il y a un an) et voici le résultat :

Enfin sur mon propre PC qui tourne avec une carte graphique NVidia très récente (GTX 650 qui venais de sortir quand j'ai acheté mon PC il y a un mois environ) :

Le résultat est strictement identique et ne correspond même pas à tes captures d'écrans.
Le problème me semble donc externe aux drivers. Vu que sur plusieurs ordinateurs avec du matériel différent et même en utilisant une CG Nvidia, le  rendu est totalement différent, je dirais que c'est soit directement la SFML qui déconne soit ton code qui a un soucis.

Là hélas en ce moment j'ai peu de temps en particulier avec mon exposé qui arrive (sur la SFML d'ailleurs ;) ), mais dès que je peux je tenterais de faire un code plus minimal de ce que tu as donné. Je testerais le rendu et je te le filerais afin de que tu le test aussi, ce qui nous donnera plus d'informations quant au problème afin d'aider Laurent si c'est bien la SFML le soucis.


D'ailleurs par rapport à tout cela, je pense qu'on devrait passer plutôt par MP afin d'éviter un topic de 10 pages de blabla pour enfin avoir des données intéressantes à exploitées. Donc je pense que l'on doit passer par les MP pour s'échanger les idées etc., les résultats de tests eux on met sur le topic, ce qui le laisse propre et on y ajoute nos réflexions juste à ce moment là.

En espérant que l'on puisse à deux (trois si Laurent à le temps de nous rejoindre) mettre le doigt sur le noeud du problème (qui a eu l'idée de faire des noeuds dans le torchon ? lol).

53
Graphique / [Résolu] [SFML2] Position de vertexarray
« le: Novembre 06, 2012, 09:04:40 pm »
Bonsoir à tous,

Laurent, comme tu le sais je suis sur un exposé sur la SFML, et pour la présentation de la lib ; je vais montrer en première les formes "basiques" que l'on peut faire. Je compte donc montrer des lignes, des triangles, carrés et ronds.

Je suis entrain de voir pour faire une ligne, j'utilise pour cela sf::VertexArray, ce qui marche très bien, mais j'ai une question : quelque soit les coordonnées que je donne aux vertex, dans tout les cas ça démarre en haut à gauche, il n'est pas possible de déplacer et mettre ailleurs dans la fenêtre ?

Si cela peut aider, voici le code que j'utilise :
#include <SFML/Graphics.hpp>
#include <windows.h>

int main(void)
{
        sf::RenderWindow window(sf::VideoMode(800, 600), "Shown of SFML - Texts");

        sf::VertexArray line1(sf::Lines, 2); //Type de vertex (ici lignes) et le nombre

        line1[0].position = sf::Vector2f(10, 100);
        line1[0].position = sf::Vector2f(20, 100);

        window.draw(line1);
        window.display();

        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;
}
 

Merci d'avance pour ton aide.

54
Graphique / Re : [SFML 2.0 RC][Linux] Problème d'affichage sur carte ATI
« le: Novembre 06, 2012, 04:38:59 pm »
Merci pour le lien, je regarde dès que je suis rentré à la maison car là au boulot d'une part le serveur est une vrai merde d'autre part j'ai pas les outils de dev et bien entendu je ne peux rien tester (oui vive les formations avec du matos de merde).

Ce soir en rentrant, je regarde, je teste sur le PC de ma mère et je donnerais le résultat (comme c'est un PC ATI, avec de la chance ça fera le problème mdr).

55
Graphique / Re : [SFML 2.0 RC][Linux] Problème d'affichage sur carte ATI
« le: Novembre 06, 2012, 04:06:06 pm »
Si tu peux me donner une copie de test du programme, je peux tenter de voir sur le PC de ma mère (un portable avec carte ATI), histoire de voir si ça le fait aussi ou si ça fonctionne. Ca donnera d'autres informations pour voir d'où ça viens ;)

56
Réseau / Re : Socket qui bloque sur NotReady !
« le: Novembre 06, 2012, 03:22:00 pm »
Cela dit concernant ATI, on peut imputer un peu aux drivers aussi, car à moins que Laurent face directement le lien avec les cartes graphiques, il passe obligatoirement par le driver de la carte graphique dont la communication basique est identique. Elle est normalement si je me trompe pas, différente seulement sur les fonctionnalités propre à ATI ou propre à NVidia, ce qui est en général des extensions OpenGL bien particulières et plutôt utiliser dans la 3D.

57
Réseau / Re : Gérer correctement l'UDP
« le: Octobre 21, 2012, 10:00:18 am »
En fait c'est parfaitement logique. Les sf::Packet on leur propre fonctionnement mais c'est un fonctionnement interne. Au final, c'est toujours l'API du système qui est utilisé, donc la base est commune.

Ensuite comme c'est une communication réseau, c'est toujours des communications de socket à socket, donc au final c'est dans le respect des protocoles standard (ici l'UDP), donc tu peux tout à fait avoir un fonctionnement interne d'un côté, et un fonctionnement interne différent de l'autre cela ne gène pas.

C'est comme si tu fais un programme client en Delphi, un serveur en C++ ou même l'inverse. La structure interne est différente, mais le protocole est identique donc ça fonctionne nickel.

En fait la seule exigence entre client et serveur, c'est que chacun utilise les même Data Package. C'est à dire que si l'un transmet des données suivant un format et un codage, il faut que l'autre soit capable de décoder les données et puisse à son tour coder et transmettre suivant le format attendu par le premier c'est tout.

58
Graphique / Re : [SFML2] Utiliser les accents
« le: Octobre 19, 2012, 03:33:01 pm »
Laurent,

C'est bon ça marche, merci beaucoup pour l'aide apporté.

59
Graphique / Re : [SFML2] Utiliser les accents
« le: Octobre 19, 2012, 10:50:40 am »
Merci pour vos réponses, je testerais ça.

60
Graphique / Re : [SFML2] Utiliser les accents
« le: Octobre 14, 2012, 11:16:06 pm »
Merci de ta réponse Laurent et désolé de mon temps de réponse.

Voici l'erreur :
Citer
||=== RenderWindow, Debug ===|
C:\prog\cpp\SFML\2.0\tests\RenderWindow\main.cpp||In function 'int main()':|
C:\prog\cpp\SFML\2.0\tests\RenderWindow\main.cpp|8|error: no matching function for call to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(wchar_t [256])'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\basic_string.tcc|220|note: candidates are: std::basic_string<_CharT, _Traits, _Alloc>::basic_string(typename _Alloc::rebind<_CharT>::other::size_type, _CharT, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\basic_string.tcc|213|note:                 std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\basic_string.tcc|206|note:                 std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, typename _Alloc::rebind<_CharT>::other::size_type, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\basic_string.tcc|194|note:                 std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::basic_string<_CharT, _Traits, _Alloc>&, typename _Alloc::rebind<_CharT>::other::size_type, typename _Alloc::rebind<_CharT>::other::size_type, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\basic_string.tcc|184|note:                 std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::basic_string<_CharT, _Traits, _Alloc>&, typename _Alloc::rebind<_CharT>::other::size_type, typename _Alloc::rebind<_CharT>::other::size_type) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\basic_string.tcc|170|note:                 std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\basic_string.tcc|178|note:                 std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\basic_string.h|2147|note:                 std::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]|
||=== Build finished: 1 errors, 0 warnings ===|

Je suis sous windows 7 avec gcc 4.4.1 installé par codeblocks.

Et voici le code que j'ai utilisé :
#include <SFML/Graphics.hpp>
#include <windows.h>

int main(void)
{
        wchar_t wTitle[256];
        MultiByteToWideChar(1252, MB_PRECOMPOSED, "é", 1, wTitle, 0);
        sf::RenderWindow window(sf::VideoMode(800, 600), std::string(wTitle));

        window.display();

        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;
}