Bonjour
J'ai essayé de programmer avec les vertex arrays car d'après pas mal de monde c'est plus rapide quand on veut afficher à tas d'objets.
void Tile::appendTile(int posX, int posY)
{
if (!textureTileset.loadFromFile("Ressources/Tuile.png"))
std::cout << "Error Loading" << std::endl;
tiles.setPrimitiveType(sf::Quads);
vertex.position = sf::Vector2f(posX * TILESIZE, posY * TILESIZE);
vertex.texCoords = sf::Vector2f(128,0);
tiles.append(vertex);
vertex.position = sf::Vector2f(posX * TILESIZE + TILESIZE, posY * TILESIZE);
vertex.texCoords = sf::Vector2f(192,0);
tiles.append(vertex);
vertex.position = sf::Vector2f(posX * TILESIZE + TILESIZE, posY * TILESIZE + TILESIZE);
vertex.texCoords = sf::Vector2f(192,64);
tiles.append(vertex);
vertex.position = sf::Vector2f(posX * TILESIZE, posY * TILESIZE + TILESIZE);
vertex.texCoords = sf::Vector2f(128,64);
tiles.append(vertex);
}
Voici comment j'utilise les vertex arrays mais par exemple quand je fais appel à cette fonction et que je demande d'ajouter 4 tuiles il faut presque 5 secondes pour les afficher donc si je veux en afficher 100 ça va être assez problématique ...
Et pourtant tout le monde dit que c'est plus performant donc je pense mal m'y prendre ...
Si je comprends bien en faisant append ça ajoute ma vertice au vertex array et donc j'ai qu'un seul appel à draw ?