Bonjour bonsoir ! Je vous remercie par avance pour les réponses que vous pourrez m'apporter ici ! Merci de prendre de votre temps pour me dépanner
Alors voilà j'utilise la SFML 2 et j'ai un problème je souhaite utiliser une image avec des vertexarray pour ensuite modifier la position des vertexarray et "étirer" l'image pour essayer de créer un effet de perspective, voici mon code :
#include <iostream>
#include <SFML/Graphics.hpp>
sf::RenderWindow app;
int main()
{
app.create(sf::VideoMode(900, 675, 32), "Titre fenetre", sf::Style::Close);
sf::Texture plancherTexture;
plancherTexture.loadFromFile("plancher.png");
sf::VertexArray points(sf::Quads, 4);
points[0].position = sf::Vector2f(0, 0);
points[1].position = sf::Vector2f(900, 0);
points[2].position = sf::Vector2f(900, 675);
points[3].position = sf::Vector2f(0, 675);
points[0].texCoords = sf::Vector2f(0, 0);
points[1].texCoords = sf::Vector2f(900, 0);
points[2].texCoords = sf::Vector2f(900, 675);
points[3].texCoords = sf::Vector2f(0, 675);
sf::Clock time;
while(app.isOpen())
{
sf::Event event;
while(app.pollEvent(event))
{
if(event.type == sf::Event::Closed)
app.close();
}
if(time.getElapsedTime().asMilliseconds() > 30)
{
points[2].position.x ++;
points[3].position.x --;
time.restart();
}
app.clear();
app.draw(points, &plancherTexture);
app.display();
}
return 0;
}
Il est assez basique voici l'image avant le code :
https://s3-eu-west-1.amazonaws.com/sdz-upload/prod/upload/plancher.pngEt voici le résultat après une dizaine de seconde de ma boucle :
https://s3-eu-west-1.amazonaws.com/sdz-upload/prod/upload/Sans%20titre91.bmpOn voit bien ici que la "perpective" que je voulais faire est mal faite car une ligne est nettement tracée et sépare mon image en 2 triangles.
Je pense que cela est du au fait que dans cette librairie les différentes primitives de forme (ici sf::Quads pour moi) sont faites à partir de triangles.
Ma question est la suivante : y a t-il moyen de contourner se problème ? Je vous remercie d'avance pour vos réponses ^^