Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Particules sur l'écran / Fusion SFML - SDL  (Lu 6482 fois)

0 Membres et 1 Invité sur ce sujet

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Particules sur l'écran / Fusion SFML - SDL
« Réponse #15 le: Janvier 15, 2013, 08:44:47 pm »
Non il n'y a pas de fonction dédiée, mais ça reste relativement simple à faire.

Mais pourquoi passer par des objets de haut-niveau si c'est pour au final les décomposer en sf::Vertex ? Pourquoi ne pas définir directement les sf::Vertex finaux ?
Laurent Gomila - SFML developer

Crone123

  • Full Member
  • ***
  • Messages: 141
    • Voir le profil
Re : Particules sur l'écran / Fusion SFML - SDL
« Réponse #16 le: Janvier 15, 2013, 09:15:51 pm »
Parce que je ne sais pas calculer ce que calcule la SFML.
Calculer une rotation ou un sf::ConvexShape, donc comme c'est plus simple de laisser la SFML s'occuper de ses objets, autant le faire et les décomposer après :)
Après, pour des sf::Sprite, ça va.
Mais pour des sf::ConvexShape, je fais comment?

Ah sinon, je peux essayer d'utiliser des textures la place des sf::ConvexShape (dans le cas de ma map ça peut se faire)
A ce moment là, j'aurais plus besoin de sf::Sprite, je pourrais directement utiliser les sf::Vertex.
A essayer :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Particules sur l'écran / Fusion SFML - SDL
« Réponse #17 le: Janvier 15, 2013, 09:49:30 pm »
C'est toi qui définit directement les points dans un ConvexShape, SFML ne calcule rien ;)

Si ce qui te tracasse c'est appliquer une transformation quelconque à des points, comme je te l'ai dit tu as la fonction Transform::transformPoint. Si tu veux la même interface qu'un sf::Sprite ou sf::ConvexShape pour construire ton sf::Transform, tu peux passer par une instance de sf::Transformable.
Laurent Gomila - SFML developer

Crone123

  • Full Member
  • ***
  • Messages: 141
    • Voir le profil
Re : Particules sur l'écran / Fusion SFML - SDL
« Réponse #18 le: Janvier 15, 2013, 09:59:44 pm »
Dans un sf::ConvexShape, la SFML calcule quand même le remplissage et la distorsion de la texture non?
ça, juste avec des sf::Vertex je peux pas le calculer (du moins c'est chaud..)

Par contre, je pourrais garder directement des sf::VertexArray en mémoire pour mes images de base a la place des sf::Texture, comme ça je peux les assembler directement en lisant les tableaux de VertexArray.

ça serait plus simple non?
Une simple boucle et je place un morceau de map dans le gros VertexArray de la map que je balance ensuite a la carte graphique.

Seul truc:
→ Admettons que j'ai plusieurs sf::Vertex a la même position dans le sf::VertexArray, il se passe quoi?

Exemple, j'ai une map, j'ai une image de sol.
Ensuite, j'affiche un objet par dessus, exemple une table.
Les sf::Vertex de la table sont rentrés après ceux du sol, la table sera bien au dessus du sol?

Je rajoute ensuite un toit, un peu transparent dans le gros sf::VertexArray, il est rajouté tout a la fin, le toit sera t-il transparent avec la table et le sol affiché en dessous (pas de risque d'inversion, où d'écrasement sans prendre en compte ce qui est en dessous, donc transparence non respectée?)
Merci :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Particules sur l'écran / Fusion SFML - SDL
« Réponse #19 le: Janvier 15, 2013, 10:14:01 pm »
Citer
Dans un sf::ConvexShape, la SFML calcule quand même le remplissage et la distorsion de la texture non?
ça, juste avec des sf::Vertex je peux pas le calculer (du moins c'est chaud..)
C'est pas si compliqué que ça, c'est de l'interpolation linéaire entre un mix et un max. Regarde le code source si tu veux.

Citer
Les sf::Vertex de la table sont rentrés après ceux du sol, la table sera bien au dessus du sol?
Tout à fait. La règle "dessiné en dernier = dessiné au-dessus" s'applique toujours, même au sein d'un même vertex array.
Laurent Gomila - SFML developer

Crone123

  • Full Member
  • ***
  • Messages: 141
    • Voir le profil
Re : Particules sur l'écran / Fusion SFML - SDL
« Réponse #20 le: Janvier 15, 2013, 10:48:45 pm »
Ah, ben c'est bon alors si la règle s'applique toujours je dois pouvoir me débrouiller :)

 

anything