Bonjour à tous,
Je suis un nouveau sur ce forum mais je suis loin d'être complètement débutant. Je travaille en ce moment à développer un jeu en 3D qui sera une fusion des jeux "Descent 3" et "X-Wing Alliance" pour ceux qui connaissent. (C'est l'objectif final d'ici 2 ou 3 ans)
Mes interrogations portent sur le comment gérer les modèles 3D en interne autant pour le rendu avec OpenGL que le système de gestion des collisions.
Le système projeté pour les modèles 3D graphiques est le suivant :
Mesh 1
--> Sous-mesh 1
--> Sous-mesh 2
--> Sous-mesh 3
--> Sous-mesh ...
Mesh 2
--> Sous-mesh 1
--> Sous-mesh 2
--> Sous-mesh 3
--> Sous-mesh ...
Mesh ...
Après avoir parcouru les sujets de ce forum dans son intégralité, il me semble avoir vu pour que pour faire le rendu, il faut d'abord dessiner toutes les faces opaques et par la suite celles qui ont de la transparence de la plus loin à la plus proche.
Donc du point de vue du moteur 3D, je dois trier la liste des objets (Mesh) à dessiner (Présentes dans le Frustum de la caméra) par rapport à la distance de la lentille et dessiner toutes les sous-meshs sans transparence les unes après les autres. Et finalement repasser la liste des objets dans le sens inverses (du plus loin au plus proche) en dessinant seulement les sous-meshs avec de la transparence. C'est ça qu'il faut faire ?
Autre interrogation, c'est un peu hors-sujet par rapport à OpenGL mais bon ...
Le système de gestion des collisions est basé sur une cartographie par Octree afin de réduire au maximum le nombre d'entité à tester. Ce que je prévois faire est d'effectuer un test d'interférence des sphères globales (Celles correspondant aux Meshs). Si le test est concluant faire la même chose avec les sphères globales (celles des sous-meshs) afin de savoir quelles sous-meshs se touchent et finalement faire un test de collision sur les sous-meshs en question. (un polygon soup sur les polygones des sous-meshs graphique) Ça vous semble une bonne idée ?
Merci de vos commentaires et suggestions.
A+
SuperGénie
Partager