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

Auteur Sujet: Charger une texture carré pour un quad  (Lu 2614 fois)

0 Membres et 1 Invité sur ce sujet

Develog

  • Full Member
  • ***
  • Messages: 100
    • Voir le profil
    • E-mail
Charger une texture carré pour un quad
« le: Avril 27, 2014, 11:59:19 pm »
Bonjour,

Voici mon problème, j'ai fait un sf::Quads qui prend la forme d'une tuile isométrique (soit un carré tourné à 45 ° avec sa hauteur divisé par 2) et ensuite j'utilise le texCoords pour lui coller une texture. Mais le soucis c'est que ma texture est carré et là je bloque ... je ne sais pas comment faire pour que ma texture soit correctement affichée ...

Sans texture :



Voici la texture que je veux coller :

« Modifié: Avril 28, 2014, 01:18:51 am par Develog »

G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re : Chargé une texture carré pour un quad
« Réponse #1 le: Avril 28, 2014, 12:30:37 am »
Bah tu prends les points qui correspondent à ta texture, tout bêtement.

Par exemple le coin en haut correspond à (40, 0), celui de droite à (80, 20), etc.

Develog

  • Full Member
  • ***
  • Messages: 100
    • Voir le profil
    • E-mail
Re : Chargé une texture carré pour un quad
« Réponse #2 le: Avril 28, 2014, 12:46:26 am »
Ok merci, je vois mieux l'intérêt du texCoords.
Je pensais que ça définissait où on affichait la texture sur le quad ;)

Merci beaucoup

Develog

  • Full Member
  • ***
  • Messages: 100
    • Voir le profil
    • E-mail
Re : [Résolu]Chargé une texture carré pour un quad
« Réponse #3 le: Avril 28, 2014, 01:18:31 am »
En faites ça donne un truc assez bizarre ^^
Le soucis réside dans le fait que mon sommet en haut a 4 pixels et celui du côté en a 2 ...

« Modifié: Avril 28, 2014, 01:49:06 am par Develog »

G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re : Charger une texture carré pour un quad
« Réponse #4 le: Avril 28, 2014, 09:13:04 am »
En gros y'a que les 2 coins que je t'ai donné qui ont l'air juste sur ton screen... :D
Perso j'ai essayé avec ta texture, et j'ai pas eu de probleme d'affichage. avec 40, 0 et 80, 20 et 40, 40 et 0, 20
Bref le truc tout con, ta texture fait 80x40, le coin du haut est en haut au milieu : 80 / 2, 0
Le coin de droite est à droite au milieu : 80, 40 / 2
bas en bas au milieu : 80 / 2, 40
gauche à gauche au milieu : 0, 40 / 2

Je comprends pas trop ton histoire de sommet qui fait plusieurs pixels.

Develog

  • Full Member
  • ***
  • Messages: 100
    • Voir le profil
    • E-mail
Re : Charger une texture carré pour un quad
« Réponse #5 le: Avril 28, 2014, 06:24:18 pm »
J'ai utilisé exactement les mêmes coordonnées justement ^^
Je vais voir du de la position des vertices.

En gros mon sommet en haut a 4 pixels ... et la tuile va en comprendre qu'un seul non ?
Voici les 4 pixels dont je parle :


G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re : Charger une texture carré pour un quad
« Réponse #6 le: Avril 28, 2014, 11:35:13 pm »
Ah ouai ? Voilà ce que ça donne chez moi avec ce vertexArray
    va[0].position = sf::Vector2f(140, 100);
    va[0].texCoords = sf::Vector2f(40, 0);
    va[1].position = sf::Vector2f(180, 120);
    va[1].texCoords = sf::Vector2f(80, 20);
    va[2].position = sf::Vector2f(140, 140);
    va[2].texCoords = sf::Vector2f(40, 40);
    va[3].position = sf::Vector2f(100, 120);
    va[3].texCoords = sf::Vector2f(0, 20);



Du coup je ne sais pas trop quoi t'en dire désolé.

Ah, je comprends ce que tu veux dire à propos des "4 pixels". Mais quand on transforme en pixels des traits diagonaux on est jamais trop sûr de ce qui va se passer je crois. Je ne sais pas trop quoi t'en dire non plus. :D  :D

PtichapronRouge

  • Newbie
  • *
  • Messages: 41
    • Voir le profil
    • E-mail
Re : Charger une texture carré pour un quad
« Réponse #7 le: Avril 29, 2014, 06:33:48 pm »
Dans un autre topic, Laurent disait, si je me souviens bien, qu'il ne fallait pas raisonner en terme de pixels mais de points. Chaque sommet de ton losange correspond à un seul point, et ta carte graphique se chargera de convertir en pixels :)
Un coca, un ordinateur, et un livre SFML Game Development. Elle est pas belle la vie ?

Develog

  • Full Member
  • ***
  • Messages: 100
    • Voir le profil
    • E-mail
Re : Charger une texture carré pour un quad
« Réponse #8 le: Avril 30, 2014, 10:23:06 pm »
Merci beaucoup de votre aide ;)