[SFML] Différence entre Image, Texture et Sprite ?

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous,

je commence la SFML, et j’ai un peu de mal à différencier ces trois objets. Voilà ce que j’ai pu trouver:

Image vs Texture:

The main difference between images and textures is their purpose-, manipulation and rendering, respectively. The Image class handles image loading, saving, and pixel manipulation, whereas the Texture class is used for rendering.

What is the difference between sf::Image and sf::Texture?

In essence, there is no difference between the two data structures. The main question you have to ask yourself is not what the difference is, but where the data is stored.

Texture vs Sprite

First we have the sf::Texture class that holds the actual image data loaded from the hard drive. Next is the sf::Sprite class that represents an instance with position and orientation in the scene. The texture describes the image, while the sprite describes where and how to put one on the screen.

Donc le Sprite définit comment l’image doit être placée sur l’écran ? Pour Image et Texture j’ai vraiment du mal…

Merci d’avance.

sf::Image est fait pour manipuler l’image comme un tableau de pixels.

sf::Texture est une image sur le GPU qui sera par la suite affichée à l’écran via sf::Sprite.

sf::Texture ne contient qu’un tableau de pixel lui aussi (comme sf::Image), et sf::Sprite contient les données pour l’afficher (position, échelle, rotation, etc.)

+2 -0

Merci !

J’ai fait quelques recherches, il me semble d’ailleurs que pour créer un sf::Texture on passe par un sf::Image implicitement ou explicitement.

Iam

Le mieux est de vérifier avec la documentation : https://www.sfml-dev.org/documentation/2.4.2-fr/classsf_1_1Texture.php#a8e1b56eabfe33e2e0e1cb03712c7fcc7

Tu vas utiliser sf::Image lorsque tu as besoin de modifier une image pixel par pixel avant de la transformer en texture pour un sprite. Autrement tu n’as pas besoin de faire une sf::Image. Tu peux même dessiner directement dans une texture si ce n’est pas pixel par pixel.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte