Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Question vertexArray a la place de sprite  (Lu 2791 fois)

0 Membres et 1 Invité sur ce sujet

Magnat

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Question vertexArray a la place de sprite
« le: Janvier 15, 2019, 02:30:07 pm »
Bonjour tout le monde !
Je viens ici car j'ai commencé un projet, une sorte de rogue like a génération procédurale.
J'ai commencé a développer une générateur de niveau aléatoire et en fonction des salle qu'il génère (taille etc) je créer des sprite de 16*16 représentant chacun une case.
Mais j'ai entendu parlé de vertexArray et je me suis dit que cela serait peut être mieux pour mon projet pour l'affichage des salle. Pour le moment avec ma méthode et en faisant un draw sur chaque sprite je n'ai aucun lag mais je me demandais quand même si cela pouvait être fait sachant que chaque salle n'est pas forcement génère dans l'ordre (une salle plus proche de la position 0, 0 peut être généré en dernière et inversement) Du coup garder la méthode des sprite est peut être mieux ou bien je peux très bien convertir tout mon donjon en un vertexArray ?
Désolé si ça vous parait évident mais  je suis débutant en sfml !

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re: Question vertexArray a la place de sprite
« Réponse #1 le: Janvier 15, 2019, 04:24:28 pm »
Suivant la taille du donjon, il est tout à fait possible qu'afficher tout le donjon avec un seul vertex array soit plus rapide que d'afficher les 100aines de sprites visibles à l'écran.
L'ordre dans lequel tu génères les salles est sans importance, tu peux même ajouter au vertex array les tiles au fur et à mesure que tu génères tes salles.
Un truc à rappeler quand même, c'est qu'un vertex array n'utilise qu'une seule texture.

Magnat

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re: Question vertexArray a la place de sprite
« Réponse #2 le: Janvier 15, 2019, 11:40:04 pm »
Ahh je pensais qu'il fallait qu'ils se suivent, de haut en bas lors de leurs incrémentation dans le vector ! dans ce cas cela va beaucoup simplifier son ajout dans mon code, et si j'ai bien compris, entre afficher des millier de cas avec des draw, un draw d'un énorme vertexArray est beaucoup moins gourmand ?

(Ps : oui tout mes sprite pour les murs sont sur la même texture ^^)

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re: Question vertexArray a la place de sprite
« Réponse #3 le: Janvier 16, 2019, 12:50:07 pm »
Ah, si tu as des sprites qui se superposent faudra que ça soit dans l'ordre quand même oui. :p

Magnat

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re: Question vertexArray a la place de sprite
« Réponse #4 le: Janvier 16, 2019, 01:08:24 pm »
Alors normalement aucun ne se superpose ! ils remplissent tous des "cases" de 16*16, puis après j'ai bien des objets qui vont se poser dessus, mais ça je le gère appart et sont beaucoup moins présent donc ça je vais le gérer directement avec des sprite !
Par contre pour les collision, avant je gérait ça avec chaque sprite, mais si il y a une collision avec un vertexArray il peu le repérer aussi ? j'ai vue une méthode getBounds() mais sachant que ce sont plein de rectangle et pas qu'un seul j'ai du mal a penser que ca fonctionnerais, j'ai pensé a gérer les collision dans une class appart, ma class case, représentant chaque mur de 16*16, mais avant je gérait aussi l'affichage de cette class mais du coup je ne gérerais plus que les collisions.

 

anything