Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: gostron le Mai 13, 2013, 08:17:18 pm

Titre: [RESOLU] VertexArray et déformation de texture
Posté par: gostron le Mai 13, 2013, 08:17:18 pm
Bonjour,

Un petit post pour m'étonner de quelque chose :)

Je comptais faire quelques tests pour faire un effet de perspective sur des textures (en utilisant des VertexArray et en leur donnant la forme de trapèzes comme pour le mode 7 de la SNES donc)

et je fus assez surpris avec le résultat (voir pièce jointe) avec à gauche l'image déformée (mais en deux triangles, et non comme je m'y attendais ^^) et à droite l'image d'origine.

D'où ma question, peut-on faire une déformation trapèze nativement ? Est-ce moi qui m'y suis mal pris ?

Dans le doute voici le code de création de l'array :

    sf::VertexArray array(sf::Quads, 4);
    int leftHeight(100);
    int rightHeight(100);
    int topWidth(50);
    int botWidth(100);
    array[0].position = sf::Vector2f(640-topWidth, 360-leftHeight);
    array[0].texCoords = sf::Vector2f(0, 0);
    array[1].position = sf::Vector2f(640+topWidth, 360-rightHeight);
    array[1].texCoords = sf::Vector2f(tex.getSize().x, 0);
    array[2].position = sf::Vector2f(640+botWidth, 360+rightHeight);
    array[2].texCoords = sf::Vector2f(tex.getSize().x, tex.getSize().y);
    array[3].position = sf::Vector2f(640-botWidth, 360+leftHeight);
    array[3].texCoords = sf::Vector2f(0, tex.getSize().y);
 

[attachment deleted by admin]
Titre: Re : VertexArray et déformation de texture
Posté par: Laurent le Mai 13, 2013, 11:00:02 pm
Non, ce n'est pas possible en 2D pure. Comme tu l'as sans doute remarqué, le mapping de la texture est correct, dans le sens où ça correspond bien à ce que tu as spécifié dans ton code ; ce n'est juste pas ce à quoi tu t'attendais. Et ce à quoi tu t'attendais, c'est un mapping corrigé pour tenir compte de la perspective, et ça n'est possible qu'avec de la vraie 3D (c'est la coordonnée Z qui permet de corriger le mapping).
Titre: Re : VertexArray et déformation de texture
Posté par: gostron le Mai 14, 2013, 07:43:07 am
Merci pour la réponse rapide, c'est bien ce que je pensais :)

Sujet clos j'imagine.