Actuellement, on peut utiliser une mémoire, un tableau, ou des datas pour les données à insérer dans le mesh.
Ma suggestion : gérer les listes chaînées.
3D - SetMeshData
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
3D - SetMeshData
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
ce n'est pas possible, les index que tu indiques pour les triangles sont des index sur un tableau de vertices, comment veux-tu t'indexer sur une liste chainée ?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Et le ListIndex() ?
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
donc , si j'ai pigé, cela n'est pas possible ?
Code : Tout sélectionner
Structure VECTOR3
x.f:y.f:z.f
EndStructure
NewList Vertice.VECTOR3()
SetMeshData(0,#PB_Mesh_Vertex, @Vertice(),SizeOf(VECTOR3)*Nbr_Vertices)
Exactement.Cpl.Bator a écrit :donc , si j'ai pigé, cela n'est pas possible ?
Code : Tout sélectionner
Structure VECTOR3 x.f:y.f:z.f EndStructure NewList Vertice.VECTOR3() SetMeshData(0,#PB_Mesh_Vertex, @Vertice(),SizeOf(VECTOR3)*Nbr_Vertices)
Déjà ça ne sert à rien de multiplier par SizeOf(VECTOR3), puisque #PB_Mesh_Vertex permet déjà de dire qu'il faudra 3 floats par vertex.
Et il faut voir SetMeshData() comme un CopyMemory() pour lequel tu indiques l'adresse de début et la longueur à copier (nombre de vertices)
Tu comprendras qu'une liste chainée ne se prête pas à ce genre de manoeuvre.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Rien ne vous empeche de travailler par copie. J'explique, si vous ne savez pas combien de vertex il va y avoir à l'avanve et placer les dans une liste chainé et dès que la création de la mesh est finie vous faîtes un truc du genre :
C'est sur que ce n'est pas le plus rapide, mais c'est qui a de plus efficace.
A+
Guimauve
Code : Tout sélectionner
Dim Vertex(CountList(ListeChainee()))
ForEach ListeChainee()
ListeChainee()\x = Vertex(Index)\x
ListeChainee()\y = Vertex(Index)\y
ListeChainee()\z = Vertex(Index)\z
Index + 1
Next
A+
Guimauve