• » Jeux Vidéo
  • » Toi aussi deviens indéveloppeur [Unity/UE4 pour platformers 2D osef]
Singe-Gobelin
Sage-Goblin

JVRS - 25 Jul 2018

Bon j'ai compris cette histoire d'Input Slot, il y a peu près la même chose en GL 4.3
Input Slot et OpenGL

Pour en revenir a ton problème, faire tout tenir dans un seul VBO c'est bien mais ça impose que tu connaisses ta géométrie des le départ, et qu'elle ne bougera jamais (c'est-a-dire que l'utilisateur ne rajoutera pas d'objet sur son modèle, ce qui est peu probable).
Si c'est juste un viewer qui affiche l'objet sans modification, la je dirais oui alors c'est faisable (et c'est ce que tu fais donc c'est bien).

Concernant tes attributs, généralement un modèle a toujours au minimum des postions et des normales, le reste des attributs sont facultatifs. Voila les avantages et inconvénients son exhaustif, si tu veux faire plusieurs modes de rendu.
Si tu veux afficher ton modèle non texturé, et un affichage texturé, stocker les coordonnes de textures dans le même buffer que les autres, implique que tu doives recréer un nouveau vbo avec toute la topo incluant les coordonnes de textures, et comme tu l'as vue, créer un VBO n'est pas une opération gratuite, c'est pour ça qu'elle est généralement faite au début et après on ne s'en occupe plus (sauf dans certains cas, comme de la cinématique par exemple).

Donc dans un cas comme ça, il est préférable de faire un vbo supplémentaire qui ne contiendra que tes coordonnées de textures, c'est beaucoup moins lourd a gérer.

Concernant tes matrices, ce ne sont pas des attributs de vertex, mais plutôt des uniform. Dans la notion d'éclaté, on éclate des pièces, pas les vertex, si tu mets tes matrices en tant qu'attribut je te garantis que tu vas saturer ta mémoire.

Après pour le rendu tu as des techniques d'optimisations, par exemple dans ton fichier, regarde si tu as des instances d'une même pièce, dans ce cas il est préférable de faire un draw instancié plutôt que de tout redessiner.