Pages: 1
- Accueil forums
- » Textures/Images
- » Chargement et affichage d'un mesh avec plusieurs fichiers de texture
29-01-2009 15:17:30
- CYann
- Membres
- Date d'inscription:
- Messages: 2
- IP: 82.243.248.63
- Courriel
Bonjour à tous ![]()
Je suis nouveau sur le forum et dans la programmation 3D avec Irrlicht. J'ai suivis le tutoriel du site du zéro, ainsi que certains tuto US du site officiel, et d'ailleurs j'arrive à obtenir de bon résultats pour l'instant
. Je suis confronté à un problème actuellement, je vous explique :
J'ai un niveau fait avec wings3D exporté en 3DS, ce niveau contient une carte UV avec les textures etc... J'ai avec mon fichier 3ds 4 fichiers bitmap pour les textures. Mon problème c'est que je n'arrive pas à charger les 4 textures (en faite la console m'indique qu'elles sont chargées, mais une seul est utilisée sur le rendu).
Voici un extrait de mon code :
scene::IAnimatedMesh *level = smg->getMesh("lvl/niveauaitd_4t.3ds");
scene::IMeshSceneNode *node = smg->addMeshSceneNode(level->getMesh(0));
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMaterialTexture(0, driver->getTexture("lvl/cube1_e2.bmp"));
node->setMaterialTexture(1, driver->getTexture("lvl/cube1_e9.bmp"));
node->setMaterialTexture(2, driver->getTexture("lvl/cube71_a.bmp"));
node->setMaterialTexture(3, driver->getTexture("lvl/cube74_a.bmp"));J'espère que vous pourrez me dépanner ou m'indiquer un liens (car je n'est rien trouver de concis pour le moment).
Merci bien à vous
Hors ligne
29-01-2009 19:00:02
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.168.224
- Courriel
En fait, lorsque l'on essais d'empiler les textures comme cela sur un mesh, le soucis lors du rendu se situe dans la bonne configuration
des fonctions materials, comme 'SetMaterialType' par exemple. Et on ne vois sur le mesh que la texture du layer 0.
Donc, mon premier conseil serait de commencer par tester différentes configurations sur tes material au niveau des flag MATERIAL_TYPE, et
voir ce que cela donne, non ? ![]()
Force et sagesse...
Hors ligne
29-01-2009 19:10:07
- CYann
- Membres
- Date d'inscription:
- Messages: 2
- IP: 82.243.248.63
- Courriel
Et bien merci pour la réponse
je vais tester plusieurs configurations et chercher dans la documentation surtout, car je ne vais pas essayer des truc au hasard comme ça xD.
Edit : J'ai examiné la piste que tu m'a donné, mais je n'arrive pas à l'utiliser. en effet setMaterialType permet à ce que j'ai compris de créer un nouveau type, mais mon niveau actuel, ne me permet pas encore de le faire, n'y a t'il pas un autre moyen ?
Sinon avec l'éditeur Irredit, la map s'affiche correctement avec toutes les textures.. j'ai essayé de faire une conversion en .irr mais impossible de la charger dans Irrlicht après, car j'obtient des messages d'erreurs..
Des idées ?
EDIT 2 : J'ai trouvé !!!!!
node->setMaterialTexture(3, driver->getTexture("lvl/cube1_e2.bmp"));
node->setMaterialTexture(3, driver->getTexture("lvl/cube1_e9.bmp"));
node->setMaterialTexture(3, driver->getTexture("lvl/cube71_a.bmp"));
node->setMaterialTexture(3, driver->getTexture("lvl/cube74_a.bmp"));Il fallait passé 3 en paramètres car j'ai 4 textures (on démarre de 0), donc du coup ça marche
Hors ligne



