Bonjour à tous
Je souhaiterais obtenir quelques précisions sur la meilleure manière de procéder lorsqu'on crée un vbo.
J'ai une classe qui permet de créer et modifier un vbo à partir de plusieurs std::vector<> correspondants au tableaux de vertex, couleurs, coordonnées de texture et index. Cependant, les méthodes de cette classe sont souvent amenées à être appelées et les vector à être modifiés, ce qui je crois n'est pas terrible pour les performances de l'application.
Je voulais savoir si il serait plus avantageux de créer un vector de tableaux automatiques de taille N afin d'allouer la mémoire par bloc successifs et non par ajouts systématiques sur un seul vector, ceci afin d'éviter l'appel trop fréquent de push_back(). Si une telle solution est plus avantageuse, quelle valeur approximative vaut N ? Doit-elle dépendre de la situation ?
D'autre part je me demandais comment il était possible d'utiliser un vector de structures (vertex, couleurs ...) afin de remplir directement le vbo sans passer par une conversion de la structure en X variables de type Y,
ce qui serait plus avantageux que de créer un vector de types de "bases" (double, int...) que l'on remplirait en convertissant un tableau de structures (vertex, couleurs...).
J'espère avoir été assez concis dans l'exposé de mon problème, si vous avez des questions n'hésitez pas![]()
Partager