M3D_Matrix3D version 2 - en préparation et open source.
Publié : sam. 01/oct./2005 7:47
avant de me lancer dans l'écriture de la nouvelle version de la lib M3D_Matrix3D (compatible avec la nouvelle lib 3D de PureBasic) et comme je souhaite que le projet soit open source , je pense qu'il faut d'abord décrire les fonctions et la structure générale de la lib ?
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 :
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
en fait je n'agis pas sur un seul point mais sur 4 points.
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.
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.