Tout se tient ici
Code : Tout sélectionner
CreateMesh(#Mesh, 100)
Options = #PB_Mesh_Vertex | #PB_Mesh_Normal | #PB_Mesh_UVCoordinate | #PB_Mesh_Color
SetMeshData(#Mesh, Options , ?Sommets, 24)
SetMeshData(#Mesh, #PB_Mesh_Face, ?Triangles, 12)
Cette ligne permet d'indiquer comment chaque vertex sera défini
Code : Tout sélectionner
Options = #PB_Mesh_Vertex | #PB_Mesh_Normal | #PB_Mesh_UVCoordinate | #PB_Mesh_Color
Pour chaque vertex , il faut :
3 données (float) pour la position du vertex
3 données (float) pour la normale au vertex
1 donnée (long) pour la couleur
2 données (float) pour les coordonnées uv de la texture.
Par exemple pour le premier vertex
Code : Tout sélectionner
;Dessus 0 à 3
Data.f -0.5,0.5,-0.5 ; x=-0.5 y=0.5 et z = -0.5
Data.f 0,1,0 ; La normale est orientée vers le haut
Data.l 0 ; Couleur noir
Data.f 0, 0 ; u=0 et v=0
Comme je l'indique dans le tut , il y a 4 vertices par face, et 6 faces pour former un cube, soit 24 vertices. C'est la valeur que tu retrouves dans la fonction SetMeshData().
Tu as juste à mettre tes 24 vertices , les uns à la suite des autres, il n'y a pas d'ordre particulier. Pour m"y retrouver j'ai préféré les trier par face, mais c'est pas obligatoire. Ce qu'il faut retenir c'est que le premier vertex est à l'index = 0 et le dernier aura l'index=23 (l'index va de 0 à 23)
Ensuite c'est le numéro d'index que tu utilises pour former un triangle.
Par exemple pour la face du dessus , sachant que chaque face est constituée de deux triangles , tu as :
Chaque triangle a besoin de 3 index (word).
- Le premier triangle sera tracé entre les vertices 2,1 et 0.
- Le second triangle sera tracé entres les vertices 0,3 et 2.
Cette fonction permet d'indiquer au moteur 3D comment seront formés les triangles.
#PB_Mesh_Face = pour indiquer que ce qui suit concerne la formation des triangles
?Triangles = Pour indiquer à quelle adresse se trouve les données des triangles.
12 = Pour indiquer combien il y a de triangles dans le mesh.
Et ensuite le moteur 3D (Ogre) se débrouille avec tout ça pour construire le mesh.
Ceci dit, tu n'as pas besoin de maitriser tout ça pour faire de la 3D, tu peux utiliser un éditeur 3D ,ça sera quand même plus simple pour faire tes modèles 3D
