Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: Christophe le Mars 13, 2016, 10:32:02 pm

Titre: Couches et tableaux de vertex
Posté par: Christophe le Mars 13, 2016, 10:32:02 pm
Bonjour

Je me demandais quelle était (en terme de performance) la meilleure méthode pour implémenter des couches de tuiles avec les tableaux de vertex.

Est il préférable d'utiliser deux tableaux de vertex avec la même texture ou deux textures différentes ?

En gros si je m'inspire de l'exemple donné sur le site (méthode draw de la classe Tilemap)

states.transform *= getTransform();
states.texture = &m_tileset;
target.draw(m_vertices1, states);
target.draw(m_vertices2, states);
 

est-il plus ou moins performant que

states.transform *= getTransform();
states.texture = &m_tileset1;
target.draw(m_vertices1, states);
states.texture = &m_tileset2;
target.draw(m_vertices2, states);
 

Parce que si la texture est envoyé à chaque draw, c'est peut être au contraire plus efficace d'avoir des textures moins lourdes en les séparant.

Sinon est il possible d'implémenter les couches dans un seul tableau de vertex ? Est-on assuré que les quads pointant sur les mêmes coordonnées seront affichés dans l'ordre de l'index du tableau ?

Merci
Titre: Re : Couches et tableaux de vertex
Posté par: Laurent le Mars 13, 2016, 10:58:27 pm
Moins de changements de textures = moins d'appels OpenGL = meilleures performances. Je suis à peu près sûr que c'est indiqué un peu partout si tu cherches un peu, c'est un principe de base ;)

Citer
Sinon est il possible d'implémenter les couches dans un seul tableau de vertex ?
Oui.

Citer
Est-on assuré que les quads pointant sur les mêmes coordonnées seront affichés dans l'ordre de l'index du tableau ?
Absolument. L'ordre d'affichage est celui des éléments dans le tableau.
Titre: Re : Couches et tableaux de vertex
Posté par: Christophe le Mars 14, 2016, 08:37:16 pm

Si l'ordre d'affichage est celui de l'ordre du tableau, c'est parfait.

Merci