Bonsoir à tous,
Je débute en openGL.
J'ai créé initialement un scene toute simple avec un sol texture, une pyramide et 3 caisses, avec une texture pour les caisses et une pour la pyramide.
Chaque objet était defini séparement.
Puis j'ai découvert "glGenLists" ainsi les objets de meme forme etait definis une seule fois et appele pour le dessin avec la texture que je voulais.
Puis j'a voulu ammeliore le tout, voulant pouvoir changer la texture de certaine face des caisse (texture avec poignet sur 2 faces uniquement).
J'ai donc créé une classe "model" a qui l'on passe en paramètres (largeur, hauteur, profondeur, nombre de face...) ainsi je peux dessiner parallelepipede, cude, pyramide (à base rectangumaire ou triangulaire) en fonction de ces parametres.
J'ai ensuite crée une sous classe "textureFace" qui va permettre de connaitre les coordonnées de la texture a appliquer à partir d'un fichier image (meta-texture ou j'ai regroupé toute mes textures précédante). Ainsi la classe "model" et enrichie de la connaissance de la texture à appliquer sur chaque face.
Donc pour chaque model créé [ ex : cube(largeur, profondeur, hauteur, 6,...) ], je renseigne une variable tableau de 6 int qui stocke le code pour la texture à appliquer sur chaque face (0 si model avec moins de 6 faces).
Je peux donc maintenant créer un model et definir le texturage de chaque face du model tres simplement.
Ma question (enfin se diront certains!), comme j'utilise "glGenLists" pour faire mes modeles et coller les textures, si je veux afficher deux caisses avec un texturage different je suis obliger de créer 2 cubes differents.
1. Est-ce un souci au niveau gestion de memoire ou performance pour la scene par rapport à l'affichage de deux meme cube (donc meme texturage)?
2. Ou sous une autre forme quand on utilise "glCallList" cela 'recontruit'-il le cube ou va-t-il le chercher en memoire?
C'est juste histoire de savoir si mon usine a gaz pour faire des modeles en 2 'fonctions' est utile et pas trop gourmande en resources?
Merci de votre patienceet de vos réponses.
Mais qd on débute on a tjs des questions à la con !![]()
Partager