#0 

09-06-2009 18:46:54

knightking
Petit nouveau
Date d'inscription: 09-06-2009
Messages: 5

Bonjour,

en tant que néophyte, je vais certainement poser une question évidente, mais je n'arrive pas à charger les textures d'un modèle .3ds.de véhicule. Et je ne comprends pas clairement la façon dont le chargement est effectué.
Tout en détails Le modèle 3DS se trouve sous la forme des répertoires suivants (Linux) :

Code:

 
vehicule/monmodele/vehicule.3ds
vehicule/mestextures/echappement.png
vehicule/mestextures/roues.png
vehicule/mestextures/carrosserie.png
vehicule/mestextures/plaque.png
......

De sorte que j'ai donc plusieurs fichiers de texture (fichiers PNG au format 8 bits) pour différents éléments (une douzaine) de mon véhicule lequel est représenté par un seul fichier 3DS.

J'ai réutilisé le code de l'exemple 01.HelloWorld fourni avec Irrlicht.
Je pensais naivement qu'il fallait simplement, à l'instar d'OpenSceneGraph, donner le nom du fichier 3DS, pour que le modele mesh et les textures associés soient affichées automatiquement. Mais cela n'a pas l'air d'être le cas : j'obtiens ainsi mon véhicule, mais tout en blanc, sur fond violet !! Il semble qu'il faille utiliser

Code:

node->setMaterialTexture()

Mais j'ai l'impression que cela ne fonctionne que s'il n'y a qu'UN SEUL fichier de texture associé au mesh, non ?!

Je pensais que le poste
http://www.developpez.net/forums/d68078 … -textures/
répondait à ce problème. Mais il semble, après les tests que j'ai fait,  que celui-ci parle d'avantage de textures multicouches sur un mesh.
D'autant plus que la valeur maximale de

Code:

 VAL

, fixée dans les fichiers headers, dans

Code:

node->setMaterialTexture(VAL, driver->getTexture("lvl/cube1_e2.bmp"));

est de 4 ! Donc je ne vois pas comment je pourrais mettre 12 fichiers !

Je suis donc allé sur d'autres forums qui semblent indiquer qu'il faille utiliser les paramètres node->setMaterielFlag, pour adapter la lumière, mais ce n'est pas clair du tout. Et cela ne dit pas si je dois ou non spécifier le nom des différents fichiers de texture!

Si quelqu'un à une réponse lumineuse, je suis preneur.
Merci.

Dernière modification par knightking (09-06-2009 21:15:42)

Hors ligne


#1 

10-06-2009 16:44:29

knightking
Petit nouveau
Date d'inscription: 09-06-2009
Messages: 5

La solution est simple, le fichier 3DS contient le nom des fichiers de textures, Or après analyse de ce fichier à l'aide de Khexedit, les fichiers ne possèdent pas, dans leur chemin relatif au fichier 3DS, le répertoire

Code:

vehicule/mestextures/

Ce qui implique que pour charger les textures, ces fichiers doivent directement se trouver dans le répertoire du fichier 3DS à savoir :

Code:

vehicule/monmodele/vehicule.3ds
vehicule/monmodele/echappement.png
vehicule/monmodele/roues.png
vehicule/monmodele/carrosserie.png
vehicule/monmodele/plaque.png

Dernière modification par knightking (10-06-2009 16:45:02)

Hors ligne


#2 

10-06-2009 18:04:35

tmyke
Administrateur
Date d'inscription: 24-03-2008
Messages: 1025

Cool, tu fais les réponses à tes propres questions smile


Force et sagesse...

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
65 invités en ligne
Aucun membre connecté
RSS Feed