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

Auteur Sujet: affichage de texture sur sf::Shape en "absolu"  (Lu 2309 fois)

0 Membres et 1 Invité sur ce sujet

chocobn

  • Newbie
  • *
  • Messages: 39
    • Voir le profil
affichage de texture sur sf::Shape en "absolu"
« le: Août 06, 2012, 02:37:16 pm »
Bonjour,


J'ai un programme dans lequel j'affiche différents polygones texturés, comme ceci (j'ai pris un tileset comme texture pour bien afficher les carrés noir et voir les proportions) :


Le problème, c'est que j'aimerais afficher les textures de ces polygones toutes avec une même échelle, et que ces textures s'affichent avec une sorte de "continuité". Je sais pas si j'arrive a être très clair, je pense donc qu'une image sera bien plus utile :


J'ai vu qu'il y avait une classe RenderTexture, mais je n'ai pas vraiment compris a quoi elle servait... Faut-il utiliser cette classe ou dois-je directement passer pas openGL?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : affichage de texture sur sf::Shape en "absolu"
« Réponse #1 le: Août 06, 2012, 02:43:48 pm »
Si tu avais des polygones convexes, tu aurais pu t'en tirer avec sf::Shape et ses fonctions setTexture / setTextureRect et les calculs qui vont bien. Mais puisqu'ils sont concaves, tu peux oublier sf::Shape.

En fait ton principal souci va être d'afficher des polygones concaves. Une fois que ce sera réglé, ton problème sera uniquement de calculer les coordonnées de texture correctement.

Deux solutions pour les polygones concaves : les découper en triangles toi-même, ou bien utiliser une classe toute faite du genre ConcaveShape dans la bibliothèque Thor.
Laurent Gomila - SFML developer

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : affichage de texture sur sf::Shape en "absolu"
« Réponse #2 le: Août 06, 2012, 02:44:35 pm »
Sinon, si c'est une image fixe et qu'il n'y a pas 3 km de carte, tu peux aussi tout afficher dans un RenderTexture, et lui appliquer un masque alpha qui ne laissera apparaître que les zones en question.
Laurent Gomila - SFML developer