16
Discussions générales / Re : Bon zanniversaire
« le: Mai 29, 2012, 01:43:32 pm »
Joyeux Anniversaire
Encore merci pour ton travail
Encore merci pour ton travail
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.
sf::Vector2i oldMousePos = getEventManager()->getOldMousePosition();
sf::Vector2i mousePos = getEventManager()->getMousePosition();
move(mousePos.x - oldMousePos.x, mousePos.y - oldMousePos.y);
Met juste la fonction où tu captures les événement SFML et là où la fenêtre est déplacée.
je ne vous met que les fonctions appelé pour faire ce déplacementNon, tu as mis les classes utiliser pour faire le déplacement. Malheureusement, cela représente énormément de code. Personne ne vas le lire, bien que ton code est bien mis en forme.
VertexArray a une approche géométrique, tu as une bouillie de points.
RenderTexture a une approche par image, tu as une bouillie de pixels.
Je te laisse tirer les conclusions que tu trouveras de ces deux points
Mémoire centrale, et transféré sur le GPU au moment du dessin (mais pas de manière permanente).Donc je perds mon temps à vouloir afficher une texture avec VertexArray, faut je passe par une image.
Ce sont deux utilisations très différentes.Justement, je ne vois pas différence pour l'utilisation. La seule différence que je remarque avec RenderTexture est la création de l'objet et la manière de la dessiner. RenderTexture nécessite un autre objet(Sprite...).
VertexArray permet d'aggréger une géometrie perso en une seule entité dessinable. Ca fait gagner considérablement en performances, par rapport au cas d'utilisation typique où on dessine X * Y sprites, car il n'y a qu'un seul appel OpenGL pour tout dessiner.Comme pour un RenderTexture. Je vois quand même une utilisation avantageuse pour les dessins vectoriels.
VertexArray permet d'aggréger une géométrie perso en une seule entité dessinable.Je pense que je vais attendre les tutoriels. J'ai fais plusieurs test et c'est plutôt amusant mais je ne vois pas comment dessiner une texture par exemple. Un indice...ou j'irai voir la classe Sprite.
RenderTexture permet de faire du dessin sur quelque chose de réutilisable ultérieurement, c'est donc utilisé par exemple pour faire des post-effects, ou bien pour précalculer des images statiques composées.Pré-calculer des images statistiques n'est pas l'utilisation énoncé plus haut dans ton message. Si ce n'est pas le cas, c'est à ce niveau que se porte ma confusion.
sf::Image& sf::Image::operator=(sf::Image&& rhs)
En premier, une consommation mémoire inutile (c'est bête en C++), et une mauvaise conscience .
Citer
Ca risque d'être lourd en mémoire, non ?
Bof, non. On n'est pas en train de parler de 1 000 000 d'entités à afficher sur un système embarqué avec 32 Mo de mémoire.
Ma fois, je ne saurais te répondre ici, ne connaissant que Box2D de nom et pas DebugDraw. Peux-tu préciser vite-fait ?
j'ai ma propre classe Shape et mes propres Rectangle, Circle, etc.
Et au final, le bonheur de tout le monde. Le conservatisme est un frein à l'évolution. Le mieux aurait été de séparer dès le départ, pour éviter aux utilisateurs d'avoir à adapter leurs codes, car ils auraient bien démarré dès le début
Le malheur des uns, fait le bonheur des autres
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 !
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