Mandragor


Les objets

Ok, bon pour ce qui est math, on va momentanément en rester là, passons à des choses un peu plus concrètes. Une question qui revient souvent c’est : comment représenter un objet 3D en mémoire, de quoi est-il constitué (de faces ? de vectrices ? de trucs ou de machins ?), comment est-il stocké, dans quels type de structures etc...

La question à se poser est de savoir quelles informations doit véhiculer un objet. Il ne doit pas dire où il est (ce problème étant celui de sa matrice de base), mais bien ce qu’il est. Il s’agit donc, pour tout ce qui sera renseignements géométriques, d’informations définies dans l’espace objet. (Comme pour notre rectangle, défini par a et b)

Un objet est en général défini par un ensemble de faces, elles-mêmes constituées d’un ensemble de triangles. On peut sans trop de perte de généralité résumer qu’un objet est un ensemble de triangles. Bien sûr il n’y a pas que des objets « triangularisés » en 3D, je veux parler de tout ce qui est courbes (Quake3 rulez J) et objets que le moteur « comprend », mais bon, ça sort un peu du cadre de ce texte alors on va gentiement laisser tomber.

Vu qu’on sait que notre objet est un ensemble de triangle, il faut à présent savoir ce qu’est un triangle. Vous savez sûrement qu’un triangle est défini par trois points. On parlera de trois vectrices (Vertexes, Meshes). Il s’agit de points dans l’espace (objet) sur lesquels sont « posés » les triangles.

Il est conseillé d’avoir un ensemble de vectrices séparé de l’ensemble des faces (c’est à dire que chaque face pointe vers trois vectrice, sans les contenir vraiment), car la plupart du temps une vectrice est utilisée par plus d’un triangle. Ca serait idiot d’avoir deux vectrices en mémoire qui représentent exactement le même point.

Une vectrice, finalement, c’est un quadruplet (x,y,z,t), point final.

Mais ça n’est pas tout, pour définir totalement une face (un triangle), on a besoin de quelques renseignements en plus :

Avec ça en mémoire, vous avez de quoi afficher votre objet, si du moins vous savez comment exploiter ces renseignements.