Là par contre je sais bien répondre:
Dans tout les modeleurs 3D , tout est géré en tant que "ressources", mais cette gestion varie selon les logiciels/formats:
-Un seul fichier "vieux" .3ds peut contenir "tout", à savoir dans les premiers chunks des meshs (nommés), accessoirement leurs morfs ou squelette, puis ensuite, toute les info "cinematique" de la scene, qui se référent aux objets par leurs identifiant, décrit les différentes camera, ....
En général, les courbes de cinématiques (spline, bézier) sont aussi une classe d'objet indépendant, potentiellement référencés plusieurs fois.
Idem pour les matériaux, nommé ou indexé, et référencé par les polygones.
Les fichiers images sont en général donné par une URL relative vers l'extérieur.
à noter que les .3ds sont pratiquement des ".iff " (format binaire avec identifiant de chunk qui permet de parser un arbre, inventé par EA dans les années 80, sur-utilisé à l'époque de l'amiga)
(edit: je ne sais pas si une scene dans un .3ds peut référencer un mesh qui est dans un autre .3ds, je pense pas, il fallait faire "import mesh d'un autre .3ds" pour faire ça je crois).
- Pour lightwave, c'est intéressant car les meshs (plusieurs)+lesmatériaux (et les liens vers les images)+les morfs, les squellete et les courbes sont dans des .lwo, (qui sont complétement des .iff eux, mais on s'en fout), étudié pour avoir des tailles de fichiers trés minimaux (les .lwo sont tout petit, ya pas un byte en trop). A l'intérieur des .lwo les objets de toutes classes sont identifié et référencé par des noms , qu'on donne dans l'éditeur ou qui sont donné a défaut (ou par des index).
- Jusque là c'est commme les .3ds, sauf qu'il y a pas la description des scenes dans les .lwo -
Les données qui décrivent une scene lightwave sont dans des ".lws" qui eux par contre sont au format textes, et référent les données à l'intérieur des .lwo.
(C'est marrant parce que certains types d'objet, comme les courbes splines , peuvent être décrite en binaire dans les .lwo , ou en texte dans les .lws)
( En fait, la disparité Modeleur/Animateur va jusqu'au bout dans lightwave puisque il y a en fait 2 appli couplées: le modeleur et l'animateur.)
... donc un moteur qui lit ces trucs doit faire de la gestion de ressource: par exemple un .lwo ne doit être lu qu'une fois si il est référencé plusieurs fois, pareil si une image est utilisé par 2 matériaux, il faut pas l'avoir en mémoire 2 fois.
Donc en général il faut avoir des hashtable ou tu références tes objets déjà chargé par leurs noms.
(ps: collada c'est effectivement le pire format trop moche)
(re-re-edit-ps: l'exporter blender fbx python est bien installé a defaut, à vue de nez il fait le skinning (directement chopable avec OSG en théorie), et je suis miro apparement.)