-
SFML 2.0 Release Candidate (http://www.sfml-dev.org/download-fr.php#2.0-rc) est prête !
Je vous invite à la tester, et à rapporter tout ce qui devrait être corrigé avant la release finale :
- les bugs critiques
- les problèmes d'API publique (elle ne sera plus modifiée jusqu'à SFML 3)
- les problèmes de packaging
- n'importe quoi d'autre que vous trouveriez pertinent
Les tutoriels ne sont pas encore prêts (je vais maintenant pouvoir commencer à les écrire), alors si vous ne savez pas comment installer et utiliser cette version, n'essayez pas, attendez plutôt la release finale.
La version Linux n'a aucun script d'installation, vous devez juste copier le contenu de l'archive dans votre répertoire d'installation préféré (typiquement /usr/local). Je ne suis toujours pas sûr de ce que je devrais fournir pour les packages Linux :
- étant donné que je n'ai pasde makefile, ça ne peut pas être fait avec "make install"
- compiler depuis les sources est souvent recommandé sous Linux, de toute façon
- les packages officiels des distribs devraient être rapidement dispo après que SFML 2.0 sera sortie, de toute façon
En fait il ne semble pas y avoir de façon "standard" de packager les bibliothèques pour Linux.
-
Bravo laurent 8) ;) Je vais de suite l'utiliser :)
-
Yay ! :D
-
Pourquoi il n'y a plus de script d'installation pour linux ? il n'y a plus de script cmake ? :o
-
ah nice ça ! :D
-
Pourquoi avoir retiré cmake ? C'est utile quand t'a pas le temps de proposer un bind pour plusieurs plateformes ;) .
-
Cmake n'a pas été retiré.
Cmake sert juste à créer un makefile (ou autre) c'est tout. Ici pour les archives, comme tout à déjà été compiler, ça ne sert à rien d'utiliser cmake. De plus, il aurait fallu un autre script cmake.
-
Sa aurait été bien si possible d'avoir le script cmake en même temps alors.
-
Sa aurait été bien si possible d'avoir le script cmake en même temps alors.
Ben non. Les fichiers CMake n'ont du sens que si tu as le code source. Ca ne sert à rien de les donner avec uniquement des binaires.
Et si tu veux les sources et bien tu télécharges le package source (pas fourni pour la RC, mais tu peux le chopper sur github ou via git), pas une release.
-
Ce que je voulais dire, est si c'est possible d'avoir le package à jours (les sources à jours) avec le script cmake. Autre manière de le dire, es-ce que les sources de la git sont les mêmes que ceux qui ont aidé à faire la release ? Si oui, pas de soucis pour les linuxiens ;) .
-
Autre manière de le dire, es-ce que les sources de la git sont les mêmes que ceux qui ont aidé à faire la release ?
Oui bien sûr. J'ai pas de sources cachées hein ;)
-
Ben c'est bon alors, il n'y a aucun soucis pour nous :) .
-
Pourquoi il n'y a pas de fonction pour switcher fullScreen ? Pas le plus dur à faire, mais rappeler create avec tous les paramètres c'est pas "glop" (alors qu'un WindowImpl::switchToFullscreen), d'ailleurs faut aussi garder soit même un bool pour savoir si la fenêtre est en fullscreen ou pas1.
c'est l'imp cocoa qui enquiquine ? (vu la différence au niveau des WindowImpl)
1: je viens de trouver ceci (http://en.sfml-dev.org/forums/index.php?topic=6854.msg45206#msg45206), c'est déjà un début. :D
-
Pourquoi il n'y a pas de fonction pour switcher fullScreen ?
Ca c'est hors sujet pour les commentaires sur la RC. Les fonctionnalités sont gelées, il ne faut rapporter que les trucs critiques, qui me feraient dire après la sortie de la version finale "meeeeeerde pourquoi je l'ai pas vu avant" ;)
-
Pour Laurent hip hip hip ! Hourra !
Félicitation pour cette RC ! Testons tout ça et faisons plein de beaux projets avec !
-
Super !
-
C'est juste un petit détail, mais sur la doc, on trouve toujours " :: Copyright © 2007-2008 Laurent Gomila, all rights reserved :: ". (Générée à partir du snapshot).
Et excellent boulot!
Merci.
-
Le tutoriel OS X / Xcode est disponible (http://www.sfml-dev.org/tutorials/2.0/start-osx.php) mais en anglais uniquement pour le moment. Je ferai la traduction après vos feedback sur cette première version.
N'hésitez donc pas à me dire si un passage est pas clair, s'il manque qqch, etc....
-
Les fonctionnalités sont gelées
Est-ce que c'est pour ça qu'avec SFML2-rc je n'arrive qu'à instancier des classes (du genre comme dans ton exemple tutoriel avec sf::Clock), mais que je n'arrive pas à utiliser leur méthode ou fonction?
Comme exemple, quand je fais clock.GetElapsedTime() dans mon programme d'essais, ça compile, mais me sort une erreur à l'exécution: "The procedure entry point?GetElapsedTime@Clock@sf@@QBEIXZ could not be located in the dynamic link library sfml-system-d-2.dll."
-
clock.GetElapsedTime()
Là tu utilises l'ancienne convention de nommage (cf forum). Et vu les erreurs que tu as, je dirais que tu as sur ton système des headers et des binaires de deux versions différentes de la SFML et que tu les mélanges en compilant.
-
Est-ce que c'est pour ça qu'avec SFML2-rc je n'arrive qu'à instancier des classes (du genre comme dans ton exemple tutoriel avec sf::Clock), mais que je n'arrive pas à utiliser leur méthode ou fonction?
Non rien à voir. Ca veut dire que je n'ajouterai plus de nouvelle fonctionnalité avant 2.0 finale, pas que les fonctions sont inutilisables... ce serait un peu con ;D
En ce qui concerne ton erreur, GetElapsedTime c'est du vieux SFML 2.
-
je dirais que tu as sur ton système des headers et des binaires de deux versions différentes de la SFML et que tu les mélanges en compilant.
C'était ça ::)
J'avais laissé traîné une version 1.6 de sfml dans le répertoire de visual studio, il l'incluait probablement par défaut en créant des conflits de compatibilité :P
J'ai tout balayé et je recommence à zéro avec SFML2-rc.
Bon, tout compile, il me reste qu'à me familiariser avec la nouvelle convention de nommage
Merci pour les réponses rapides. :)
-
Le tutoriel pour Code::Blocks est en ligne :)
-
J'attends surtout la suite, mais je l'ai lu. Si je puis me permettre, voici quelques remarques.
Je passe pas mal de temps sur le forum du SdZ et ici, je pense que le passage précisant l'ordre des "linkage" et le passage disant d'inclure les DLL devraient être mis plus en évidence :P
L'option "SFML project" fonctionne... avec la version 1.6 (ou c'était le cas il y a quelques mois)
Choisissez plutôt un projet vide (Empty project). Si vous voulez une application graphique sans console, dans les propriétés du projet onglet "Build targets", choisissez "GUI application" dans la liste déroulante au lieu de "Console application".
J'ai du relire deux fois ce passage pour le comprendre, je ne sais pas si c'est l'enchaînement de termes anglais ou le fait qu'il soit 23h15 ;D
Sinon y'a rien à dire ^^ J'ai hâte de lire la suite
-
La première chose à faire est de choisir quel type de projet créer. Code::Blocks propose une grande variété de types de projets, dont l'un est "SFML project". Ne l'utilisez pas !
C'est bien de le préciser. J'en ai passé du temps et je n'ai jamais réussi à le configurer correctement :(
Même si cela ne fonctionne pas correctement(dans le cas du contraire, je suis preneur), cela montre une reconnaissance de SFML.
Ce tutoriel me semble plus complet que des tutoriels dédié à l'utilisation de Code::Block ;D
Citer
Choisissez plutôt un projet vide (Empty project). Si vous voulez une application graphique sans console, dans les propriétés du projet onglet "Build targets", choisissez "GUI application" dans la liste déroulante au lieu de "Console application".
J'ai du relire deux fois ce passage pour le comprendre, je ne sais pas si c'est l'enchaînement de termes anglais ou le fait qu'il soit 23h15 ;D
Après avoir créé un projet de type "Empty". Dans le menu(tous en haut)
Project=>Propertie=>Build Target
Dans la combo box "Type", tu mets la valeur "Gui Application"
Comme cela, au lancement de l'application la console ne se lancera pas. Par contre il est vrai que plus de précision sur cette manipulation ne serait pas trop ;D
-
Citer
Choisissez plutôt un projet vide (Empty project). Si vous voulez une application graphique sans console, dans les propriétés du projet onglet "Build targets", choisissez "GUI application" dans la liste déroulante au lieu de "Console application".
J'ai du relire deux fois ce passage pour le comprendre, je ne sais pas si c'est l'enchaînement de termes anglais ou le fait qu'il soit 23h15 ;D
Après avoir créé un projet de type "Empty". Dans le menu(tous en haut)
Project=>Propertie=>Build Target
Dans la combo box "Type", tu mets la valeur "Gui Application"
Comme cela, au lancement de l'application la console ne se lancera pas. Par contre il est vrai que plus de précision sur cette manipulation ne serait pas trop ;D
Oui j'ai compris la manip (mais peut-être parce que je la connaissais déjà). J'avais juste l'impression que ce n'était pas tout à fait clair dans le tuto.
D'ailleurs vive la console :p Je la laisse jusqu'à la dernière release
-
L'option "SFML project" fonctionne... avec la version 1.6 (ou c'était le cas il y a quelques mois)
J'ai vu beaucoup de personnes ayant des problèmes avec. Si je me souviens bien, il ajoutait des DLLs dans les options d'édition de liens, au lieu des bibliothèques d'importation.
Et puis je doute qu'il fonctionne bien avec SFML 2 étant donné les modifications, et même si c'était le cas, je préfère baser les instructions "officielles" sur quelque chose qui est complètement maîtrisé. Je ne sais pas qui a pondu cet assistant, ni s'il est maintenu, etc.
J'ai du relire deux fois ce passage pour le comprendre, je ne sais pas si c'est l'enchaînement de termes anglais ou le fait qu'il soit 23h15
Ouais, je pense que je peux rendre ça un peu plus "smooth" en effet :P
-
L'intégration d'un rendu SFML 2.0 dans une interface Qt fonctionne parfaitement sous Windows.
Cependant, sous OS X, je reçois un message "invalid drawable" au tout début de la sortie de l'application, alors qu'il n'y a aucun problème graphique.
Autre problème sous OS X, lorsqu'on définit le rendu SFML comme étant le centralWidget d'une QMainWindow, le rendu ne se redimensionne pas automatiquement et garde sa taille par défaut, et je reçois le message "QWidget::repaint: Recursive repaint detected" à chaque fois que je redimensionne la fenêtre.
-
Cependant, sous OS X, je reçois un message "invalid drawable" au tout début de la sortie de l'application, alors qu'il n'y a aucun problème graphique.
Ça s'affiche uniquement lors des premiers rendus ? Si c'est le cas, je suppose que c'est Qt qui crée pas complètement la fenêtre au moment du rendu ou qqch du genre. Et là je ne vois pas trop ce que je peux faire.
Autre problème sous OS X, lorsqu'on définit le rendu SFML comme étant le centralWidget d'une QMainWindow, le rendu ne se redimensionne pas automatiquement et garde sa taille par défaut
Je suppose que c'est le bug #207 (https://github.com/SFML/SFML/issues/207)
je reçois le message "QWidget::repaint: Recursive repaint detected" à chaque fois que je redimensionne la fenêtre.
là je sais pas ce que fait Qt pour arriver à ce genre de comportement...
-
Le tutoriel pour Visual Studio est maintenant également en ligne.
-
J'ai remarqué une petite erreur de syntaxe dans le \brief de sf::RenderTexture.
"\brief Target for off-screen 2D rendering into an texture"
"an" devrais être "a"
-
En effet :)
-
Je viens de remarquer que le loadFromMemory de sf::Shader ne charge pas le shader à partir d'un void* mais à partir d'une std::string. Ca me parait contre-intuitif (par rapport au reste de la SFML)... Ne vaudrait-il pas mieux le remplacer par un loadFromString ? ou changer le type des arguments (passer de std::string à void* et size_t) ?
-
Les shaders sont un cas particulier. Il n'y a pas de format de fichier spécifique, c'est juste du texte brut. Donc quand tu as un shader en mémoire, c'est vraiment juste une chaîne de caractères.
Ceci-dit pour des raisons de cohérence, renommer en loadFromString (et aussi fournir le loadFromMemory void*/size_t) ne serait peut-être pas idiot.
-
Au niveau de la documentation, il y a un petit problème avec sf::Color. Le code d'exemple est :
sf::Color color(255, 0, 0); // red
color.red = 0; // make it black
color.blue = 128; // make it dark blue
Alors que sf::Color possède les attributs r, b, g et a, mais pas red, blue ...
-
Il me semble que l'évenement "Event::MouseMoved" ne fonctionne pas lorsque le rendu SFML est intégré dans une interface Qt sur Mac OS X.
Il n'est appelé que lorsque qu'on fait un clique souris.
-
Problème de focus. Qt doit avoir une setFocus de mémoire. Est-ce que ça corrige le problème ?
-
J'ai mis un renduSFML->setFocus(); après avoir déclaré le rendu. Sans succès.
J'ai aussi essayé de mettre setFocus(); dans la méthode void SFMLView::OnUpdate(). Sans succès non plus.
Je devrais le mettre où ?
-
Je sais pas exactement non plus. Le problème est aussi présent sous Windows/Linux ?
-
J'ai tester le même code sous Windows, et ça fonctionne très bien.
Sous OS X, comme dit plus haut, il faut que je tienne enfoncé un bouton de la souris pendant que je déplace la souris pour avoir un résultat.
Et je n'ai pas Linux.
-
Juste pour bien comprendre le bug : si tu cliques une fois, puis après avoir relâché la souris, si tu la déplaces aucun évènement n'est produit ?
-
C'est exactement ça. Et seulement si c'est un rendu dans une interface Qt.
En fait, l’évènement Event::MouseMoved est toujours envoyé en même tant que Event::MouseButtonPressed.
-
Au niveau de la documentation, il y a un petit problème avec sf::Color
Déjà rapporté et corrigé (dans les sources).
-
C'est exactement ça. Et seulement si c'est un rendu dans une interface Qt.
En fait, l’évènement Event::MouseMoved est toujours envoyé en même tant que Event::MouseButtonPressed.
C'est donc bien un bug... allez, encore un ! :-\
-
Tu as essayé d'appeler setMouseTracking(true) sur ton widget ?
-
Tu as essayé d'appeler setMouseTracking(true) sur ton widget ?
Ne fonctionne pas non plus :-[ ...
C'est donc bien un bug... allez, encore un ! :-\
A moins que je sois le seul à avoir ce bug (mais ça m'étonnerait) ...
-
Tu as essayé d'attraper l'évènement Qt correspondant (mouseMoveEvent)?
-
Non c'est bien un bug malheureusement : j'arrive à reproduire le bug avec une application Cocoa.
j'ai ouvert le ticket #213 à ce propos.
-
Essaie la méthode void QWidget::grabMouse () qui fait que le widget saisit tous les évènements de la souris. Par contre dans ce cas les autre widgets ne peuvent plus capter les évènements de la souris. Donc il faudra utiliser la méthode void QWidget::releaseMouse () lorsque la souris sortira du widget.
Normalement pas besoin, pour ce qu'il veut il y a setMouseTracking(true) justement.
Et si c'est bien un bug de toute façon, les appels Qt n'y changeront rien.
-
Et de toute façon j'ai dit une bêtise puisque c'est impossible de savoir quand la souris entre pour la capturer puisque les évènements de la souris ne sont pas, comme j'ai pu le comprendre, activés du départ.
-
* va attendre la release pour les tuto *
-
aille aille aille... la RC (méthode qui passe en minuscule ;D). Il a fallu rechanger tous les nommages, bon mais vais pas me plaindre, c'est beaucoup mieux ainsi !
Si je trouve quelque chose, je tacherais de le signaler :p
-
Bonjour,
Aujourd'hui j'ai passé un de mes projets de la SFML 1.6 à la 2.0-rc. Je ne utilise que sfml-window (j'inclus aussi sfml-system mais je ne l'utilise pas).
Pour la porta unix de mon projet, j'utilise un ubuntu 12.04 sous VirtualBox.
J'ai remarqué 2 problemes avec cette config, le 1er est que un mouvement de souris envoie aussi un sf::Event::JoyistickMoved.
Le 2em est quand la fenetre a le focus (elle est en 1er plan devant d'autre fenetres) et que l'on click sur une fenetre qui se trouve deriere, la fenetre SFML reste au 1er plan.
Sous Windows 7 pas de probleme, sauf une baisse de performance je passe de 990fps à 657.
Le fait de secouer la souris fait grandement chuter les fps, passant de 657fps à moins de 500. (ca peut parraitre ridicule autant de fps mais pour moi c'est un bon indicateur de performance pour mon project)
Cordialement.
-
J'ai remarqué 2 problemes avec cette config, le 1er est que un mouvement de souris envoie aussi un sf::Event::JoyistickMoved.
Sûrement un problème de driver, ou alors dans ton code.
Le 2em est quand la fenetre a le focus (elle est en 1er plan devant d'autre fenetres) et que l'on click sur une fenetre qui se trouve deriere, la fenetre SFML reste au 1er plan.
Là aussi ça me paraît bizarre, peut-être un bug du window manager.
Sous Windows 7 pas de probleme, sauf une baisse de performance je passe de 990fps à 657.
Faut peut-être adapte un peu de code pour le rendre plus performant ;) SFML 2 permet plus d'optimisations.
-
Non ce n'est pas un probleme dans mon code, je ne dis pas que ca vient de la SFML, je constate juste qu'il y a un probleme et que ca ne vient pas de mon code.
Pour les perfs, peux tu m'en dir plus sur les optimisations :) ?
-
Non ce n'est pas un probleme dans mon code
Bah, t'en es vraiment certain ?
Pour les perfs, peux tu m'en dir plus sur les optimisations
Tu peux créer toi-même tes propres entités graphiques complexes (systèmes de particules, tilemaps, ...), et les dessiner en un seul appel plutôt que dessiner une multitude de sprites - c'est ça qui plombait les perfs dans SFML 1.
-
Heu pour les perfs j'ai dit une grosse connerie... Oui je passe de 990fps à 657 mais c'est quand ma VM est lancé... dsl :D
Pour le probleme de souris j'en suis sur oui, ca semble bien venir de VirtualBox ou des driver ubuntu.
-
Bonsoir,
#include <SFML/Graphics/Sprite.h> est manquant dans Graphics.h
Alors que c'est le cas dans le .hpp
-
C'est déjà corrigé. Faut vérifier les dernières sources avant de poster, surtout pour des trucs rapidement corrigés comme ça ;)
-
Pourquoi la bibliothèque pour windows n'est-elle pas disponible en 64 bits ? :/
-
Sous Windows c'est pas très grave, en général les gens développent en 32-bits. C'est pas du tout comme sous Linux, où il est impératif d'avoir la version qui correspond à son architecture.
Je ferai peut-être des versions 64-bits pour la sortie finale de SFML 2.0. Au moins pour Visual C++.
-
Petite remarque, sous Ubuntu 12.04 (64 bits) j'ai du faire :
apt-get install libglew1.5 libjpeg62
pour pouvoir linker l'exemple du tutoriel. J'ai pas essayé mais j'imagine qu'il faut faire pareil pour les dépendances des autres modules.
Sinon bravo pour cette version !
-
J'ai pas essayé mais j'imagine qu'il faut faire pareil pour les dépendances des autres modules.
Bien entendu ;)
-
Quel est l'équivalent de
sf::Shape::Line
dans SFML 2.0 ? Je ne vois pas de sf::LineShape
dans la doc :(
-
Pas besoin, une ligne c'est soit deux vertex en mode sf::Lines, soit un sf::RectangleShape éventuellement tourné.
-
Pourquoi sf::VertexArray n'est pas Transformable ?
-
sf::VertexArray n'est pas la classe finale, c'est juste un outil qui sert à implémenter des Transformables.
Donc en général t'auras plutôt ça :
class MyDrawable : public sf::Drawable, public sf::Transformable
{
...
private:
sf::VertexArray m_geometry;
}
-
Les tutoriels pour sfml-window sont en ligne.
-
De ce que j'ai lu, c'est vraiment intéressant, j'en ai même découvert des astuces malgré la doc ! Très bonne cuvée de nouveaux tutos ! :D
-
Je sais pas si quelqu'un l'a déjà dit, mais dans la liste des tutoriels français, le titre de la catégorie "System package" n'est pas en français.
-
Je sais pas si quelqu'un l'a déjà dit, mais dans la liste des tutoriels français, le titre de la catégorie "System package" n'est pas en français.
Bien vu ;D
-
On parlant d'erreur :
http://www.sfml-dev.org/tutorials/2.0/system-stream-fr.php
Dans cet exemple nous allons utiliser la bonne vieille API C des fichiers, nous avons donc un membre std::FILE*. Nous avons aussi un constructeur par défaut, undestructeur, et une fonction pour ouvrir le fichier.
J'ai trouvé cela très intéressant.
-
Bonjour,
J'ai trouvé une autre petite erreur chez les évènements :
SFML supporte 8 axes de joystick: X, Y, Z, R, U, V, POV X and POV Y.
http://www.sfml-dev.org/tutorials/2.0/window-events-fr.php
-
Merci à tous, j'ai corrigé ces quelques petites erreurs.
N'hésitez pas si vous en trouvez d'autres :)
-
Salut a tous !
Cette RC contient un bug relatif à certaines cartes Intel.
Je m'explique sur mon system Archlinux équipé d'une carte ATI HD 5770, tout fonctionne.
Sur mon netbook équipé d'une carte Intel HD intégré, depuis la 2.0 mon programme perso plante.
Chose encore plus étrange les examples, eux ne plantent pas même après recompilation.
A suivre ... je vais tenter de modifier les examples pour les faire crasher.
-
Si jamais tu trouves un bug ou que tu rencontres un problème, n'hésite pas à ouvrir un nouveau thread. ;)
A noter aussi que depuis la RC certains bugs ont été corrigés et que d'autres ont été répertorier. Vérifies que le tien ne soit pas dans la liste (https://github.com/SFML/SFML/issues/), et notamment que ce ne soit pas le #101 (https://github.com/SFML/SFML/issues/101) avant de perdre trop de temps.