Historique des modifications - Message

Message #6483

Sujet: Comme fonctionne le chargement de texture à partir d'un fichier 3DS


Type Date Auteur Contenu
Dernière modification 09-06-2009 19:15:42 knightking
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) :
 
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
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/d680787/applications/developpement-2d-3d-jeux/moteurs-3d/irrlicht-utiliser-mesh-plusieurs-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
 VAL

, fixée dans les fichiers headers, dans
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.
Création du message 09-06-2009 16:46:54 knightking
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) :
 
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
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/d680787/applications/developpement-2d-3d-jeux/moteurs-3d/irrlicht-utiliser-mesh-plusieurs-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
 VAL

, fixée dans les fichiers headers, dans
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.

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
167 invités en ligne
membre en ligne: -
RSS Feed