Non, tu ne code que les structures (en veillant à les garder génériques) qui t'intéressent, parce que, si ta classe vertex (par exemple) est composée de trois valeurs nécessaires pour représenter une coordonnée + 1 valeur nécessaire pour représenter la couleur, tu n'a, à peu de chose près, absolument aucun besoin de savoir si elles manipuleront des int, des char, des float ou des double: tu dois juste savoir que la structure est composées de quatre attributs, dont trois sont de type identique.
Par la suite, c'est à l'utilisateur de décider quel type seront effectivement utilisés pour ces attributs, même si tu peux prévoir toi-même des alias de types pour les combinaisons "les plus plausibles"
Cela peut parfaitement s'envisager, à partir du moment où un vertex buffer n'est en définitive qu'un tableau de vertices particulierdonc carrément définir le type du vertexbuffer à l'avance dans la policy ?
oui, effectivement, mais cela te convient parfaitemenbon, mettons
maintenant je veux stocker un ensemble de vertexbuffer dans une map
je dois tous les spécifier avec le même format de vertex ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 map<string, VertexBuffer<T> > template<T> class VertexBuffer{ private : //membres divers vector<T> buffer; //? }Pourquoi voudrais tu le faireje ne peux pas regrouper des buffers contenant des formats différents au sein d'une même collection ?
Si tu dois manipuler des vertices dans lesquels les coordonnées sont représentées par des double et que tu essaye d'en utiliser dans lesquels les coordonnées sont représentées par des int ou par des float, tu va te retrouver face à des problèmes sans noms
Il faut bien comprendre que, l'ensemble de ton api est tenu de respecter les même conventions en ce qui concerne les types primitifs manipulés, ne serait-ce que pour s'assurer la cohérence des traitements![]()
Partager