Je suis conscient que le nom des fonctions de l'ancienne lib n'était pas toujours judicieux , un mélange de français et d'anglais dû à ma méconnaissance de l'anglais , si quelqu'un pouvait proposer de meilleur nom ce serait déjà un bon départ pour cette nouvelle lib

voici la liste des fonctions de l'ancienne lib :
les fonctions sont décrites sommairement ICIM3D_ColorFacette
M3D_Cos
M3D_CreateMeshCone
M3D_CreateMeshCube
M3D_CreateMeshCylinder
M3D_CreateMeshMatrix
M3D_CreateMeshPlain
M3D_CreateMeshSphere
M3D_CreateMeshTerrain
M3D_CreateMeshTriangle
M3D_CurveAngle
M3D_CurveValue
M3D_EcartAngle
M3D_FacetteHeight
M3D_FacetteWidth
M3D_FillColor
M3D_FillMatrix
M3D_GetGroundHeight
M3D_GetVertexHeight
M3D_LoadMatrix
M3D_MatrixHeight
M3D_MatrixWidth
M3D_MoveEntityXZ
M3D_NbFacetteX
M3D_NbFacettez
M3D_NbTextureX
M3D_NbTextureZ
M3D_NewXValue
M3D_NewZValue
M3D_NormalesMatrix
M3D_PrepareMatrixTexture
M3D_RandomizeMatrix
M3D_RotateTexture
M3D_SaveMatrix
M3D_SetFacetteHeight
M3D_SetMatrixHeight
M3D_SetNormale
M3D_SetVertexHeight
M3D_ShiftDown
M3D_ShiftLeft
M3D_ShiftRight
M3D_ShiftUp
M3D_Sin
M3D_TextureFacette
M3D_TextureHeight
M3D_TextureWidth
M3D_UpDateColor
M3D_UpDateMatrix
M3D_UpDateNormale
M3D_UpDateTexture
M3D_UpDateVertex
M3D_WrapValue
Mon souci principal est la gestion des textures des facettes.
dans la lib actuelle ,Le principe utilisé consiste à créer un seul fichier comportant l'ensemble des textures de la matrice.
L'idéal serait de pouvoir charger autant de textures que l'on veut ,sans avoir à les regrouper dans un fichier ( ça impose une taille commune pour toutes les textures et bien d'autres inconvénients )
Il semblerait que les scripts materials répondent à ce besoin ?
Reste à voir si Fred pourra l'ajouter dans la lib 3D.
mais ça ne résout pas mon problème principal , à savoir , comment gérer les coordonnées uv pour chaque vertex de la matrice ?
dans l'exemple de matrice ici
http://purebasic.hmt-forum.com/viewtopic.php?t=3488
une facette est composée de 4 points (2 triangles),mais un point peut être commun à plusieurs facettes, d'où la difficulté pour calculer les coordonnées uv pour chaque point.
Dans la lib M3D_Matrix3D,j'avais opté pour une solution simple , en fait chaque facette comporte 4 points indépendants, de cette façon je peux gérer les coordonnées uv plus aisément.Mais ça multiplie les points inutilement.
et quand je fais un
Code : Tout sélectionner
M3D_SetVertexHeight(No.l, X.l, Z.l, Hauteur.f)
Et tout ça parce que je ne sais pas comment faire autrement pour les textures .
Est-ce que quelqu'un aurait une méthode simple et efficace pour gérer les coordonnées uv d'une matrice ?
C'est la partie la plus importante de la lib ,car tout le reste en découle.
C'est pourquoi avant de me lancer dans l'écriture je suis intéressé par vos solutions , vos idées sur le sujet.