Bonjour.
Pour mon projet, j'ai besoin de charger des modèles 3D dans mon application OpenGL (j'utilise LWJGL). Mais comme il s'agit d'une API bas niveau, il faut que je développe les chargeurs de modèles moi même. J'ai donc choisis le format 3DS, conseillé par mon modéliseur/dessinateur 3D.
J'ai un peu étudié le probleme et j'ai surtout trouvé des exemples en C. D'après ce que j'ai compris, les fichiers 3DS sont des fichiers hexadécimaux. Chaques "chunks" à une valeur. On peut un peu comparer ces fichiers à des fichiers XML avec leur hierarchie (parent/enfants...).
Donc je dois lire ces fichiers, obtenir les valeurs hexadécimales, puis recuperer les données dont j'ai besoin pour les transmettre à OpenGL.

Pour l'instant ce que j'aimerai faire c'est lire un de ces fichiers et afficher son contenu.
Pour une question de performance évidente, je compte utiliser les NIO. Malheuresement, malgré la javadoc et les quelques exemples trouvés sur des sites anglais, je n'arrive toujours pas à lire et afficher ces fichiers 3DS.

Ensuite je ne sais pas si il vaut mieux mapper le fichier en mémoire ou lire le fichier en stream. Le premier est plus rapide mais j'ai besoinde lire bytes par bytes le fichiers pour récuperer des données du genre 0x4D4D ou 0x4110...

Donc est-ce que quelqu'un pourrait m'expliquer comment lire un fichier binaire et l'afficher avec les NIO et si possible avec un petit code ?
Ça m'aiderait beaucoup.

Merci d'avance.