Salut
Je commence l'implémentation d'un moteur graphique utilisant les octree comme méthode de partitionnement. Pour ma map j'ai une heightmap et une texture et pour mes objets des fichiers .obj et .3ds( avec leurs textures eventuellement ). Je souhaite utiliser l'efficacité des vertex arrays voire des VBO pour accelerer le rendu cependant j'ai du mal à me faire une idée de la marche à suivre.
Pour le moment mon raisonnement est le suivant : Je charge ma map dans un classe map, puis les objets dans des classes objets. Ensuite je passe tous les vertex à la moulinette octree (je me pose d'ailleur une question à savoir si je stocke dans mes noeuds d'octree toutes les données ou simplement des pointeurs vers les données des classes map et objets?). Je finis par une elimination des faces cachées avec un calcul du frustum. J'ai donc dans chaque octree(visible) des vertex venant d'objets et/ou de la map. Ma question est donc : comment savoir quelle texture utiliser pour chaque face puisque tout est mélangé et si on le arrive à le savoir comment passer de texture en texture sans ralentir le rendu?
De même comment créer des vertex array (ou VBO) efficaces?
En-effet cela me parait byzarre de créer des buffers pour chaque noeuds de l'octree. De même si j'en crée un avec tout ce qui a survécu au frustum-culling ça voudras dire qu'il sera recalculé à chaque déplacement(est-ce jouable?).
Je prend sans doute le problème dans le mauvais sens alors pouvez-vous m'éclairer?
merci d'avance
Partager