Sur mon image j'utilise une texture composé de plusieurs points ce qui permet de "multiplier" les particules. :3
Une image contenant plusieurs particules?
Mais tu t'amuse a dessiner les particules sur GIMP ou bien tu met des points de base sur l'image qu'OpenGL dessine ensuite de la taille choisie?
- les sprites c'est dégueu niveau perf pour les particules ; ce qui tue les performances c'est le nombre d'appels à draw, et entre 1 seul appel pour toutes tes particules, et 10000, franchement y a pas photo
Oui, en fait il faudrait la possibilité de mettre des Array de Sprites comme des Vertex et ça résoudrait le problème
- utilise des textures pour tes particules ! surtout pour les rondes ; ça ne coûtera pas beaucoup plus cher
Comment rajouter des textures sur les particules?
Attention, la plupart des particules sont évolutives, donc leurs mettre une texture ne risque pas de tuer les performances?
Ceci dit, je peux créer un type de particule texturé juste pour ça, ça permettrait d'avoir un moteur complet selon ce qu'on veut faire
- ton code est vraiment bizarre (des sf::Vertex alloués dynamiquement ?!), j'ai peur que tu ne fasses des choses très contre-productives
Je ne pense pas :p
J'ai une classe (SMG::Gen_Part) contenant des SMG::Particule, le Gen_Part est le moteur en soit.
A l'utilisation, il suffit de rajouter des Particules dedans (pointeurs). Les particules contiennent en fait quelques variables de paramétrage de couleur, trajectoire, etc..
Le Gen_Part s'occupe de faire vivre les particules, les déplacer, les détruire, etc..c'est lui qui défini aussi la forme de toutes les particules. (On peut mettre plusieurs Gen_Part si on veut dessiner plusieurs formes différentes)
Les particules et les Vertex Alloués dynamiquement sont bien sûr supprimés après. (pas de fuite de mémoire)
L’intérêt est de me permettre de compter le nombre de particules présentes et les gérer plus simplement.
Enfin, ça doit pas être trop contre-performant étant donné les perfs que j'ai avec des points
(Je suis sur une Nvidia GT 440 & I5 Quad Core a 3.2Ghz ou Nvidia GT 220 & AMD Athlon II Dual Core a 2.7Ghz en fonction des fois, mais ça passe aussi bien sur l'un que l'autre
)