Bonsoir,

Alors j'aurais besoin d'une astuce pour lire un fichier et placer les informations par groupe ;-]

Pour l'instant je sais lire ce fichier 3D mais pour créer un seul objet.

Voici un exemple du fichier qui est en fait le format wavefront OBJ, ascii,
où chaque objet est ( pour l'instant ) composé des vertex « v », avec les normales « vn » et enfin les indices « f ».

Ici j'ai trois objets, donc trois groupes de « v » etc.
Ce qui m'intéresse c'est quand faire le push_back du groupe, surtout comment savoir quand j'ai lu le dernier « f » pour faire le push_back du dernier groupe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
# Blender3D v245 OBJ File: 
# www.blender3d.org
o Cube.002
v -0.649241 -0.193974 -2.512762
v -0.885250 -0.194688 -0.526736
v -2.720690 -0.958538 -0.745125
v -2.484680 -0.957823 -2.731151
v -1.407831 1.654413 -2.602243
v -1.643841 1.653698 -0.616217
v -3.479281 0.889848 -0.834607
v -3.243271 0.890563 -2.820633
vn 0.379295 -0.924193 0.044741
vn -0.379295 0.924193 -0.044741
vn 0.917720 0.381925 0.109195
vn -0.118005 -0.000358 0.993013
vn -0.917720 -0.381925 -0.109195
vn 0.118005 0.000358 -0.993013
usemtl Material
s off
f 1//1 2//1 3//1 4//1
f 5//2 8//2 7//2 6//2
f 1//3 5//3 6//3 2//3
f 2//4 6//4 7//4 3//4
f 3//5 7//5 8//5 4//5
f 5//6 1//6 4//6 8//6
o Cube.001
v 2.654720 -0.155150 -3.261242
v 3.076279 -0.659099 -1.372241
v 1.126125 -0.630566 -0.929423
v 0.704567 -0.126617 -2.818424
v 2.793248 1.780107 -2.775867
v 3.214806 1.276159 -0.886866
v 1.264653 1.304692 -0.444049
v 0.843095 1.808640 -2.333050
vn -0.069264 -0.967629 -0.242687
vn 0.069264 0.967629 0.242687
vn 0.975077 -0.014266 -0.221409
vn 0.210779 -0.251974 0.944500
vn -0.975077 0.014266 0.221409
vn -0.210779 0.251974 -0.944500
usemtl Material
s off
f 9//7 10//7 11//7 12//7
f 13//8 16//8 15//8 14//8
f 9//9 13//9 14//9 10//9
f 10//10 14//10 15//10 11//10
f 11//11 15//11 16//11 12//11
f 13//12 9//12 12//12 16//12
o Cube
v 1.352173 -0.731076 2.476976
v 0.627522 0.039807 4.174215
v -1.236516 -0.244656 3.507551
v -0.511865 -1.015539 1.810312
v 1.367733 1.092333 1.655431
v 0.643081 1.863216 3.352669
v -1.220957 1.578753 2.686004
v -0.496306 0.807870 0.988766
vn -0.007780 -0.911704 0.410773
vn 0.007780 0.911704 -0.410773
vn 0.932019 0.142231 0.333332
vn -0.362325 0.385442 0.848619
vn -0.932019 -0.142232 -0.333332
vn 0.362325 -0.385442 -0.848620
usemtl Material
s off
f 17//13 18//13 19//13 20//13
f 21//14 24//14 23//14 22//14
f 17//15 21//15 22//15 18//15
f 18//16 22//16 23//16 19//16
f 19//17 23//17 24//17 20//17
f 21//18 17//18 20//18 24//18
Bref, à cette heure je n'ai pas d'idée comme ça, alors, je me demandais comment feriez vous, ô si puissants programmeurs de la nuit ;D