Bonjour à tous,
Je me suis mis sur Irrlicht (et la programmation 3D) il y a peu, et j'avance pas trop mal (doc officiel + divers tutos sur le net). Je suis pourtant bloqué aujourd'hui d'ou mon message ici. Mon frère m'a fait un niveau en 3D au format 3ds tout texturé, ce niveau comporte 4 fichiers bitmap, et lorsque je charge mon niveau et les quatre fichiers avec irrlicht, uniquement un aparais sur le niveau. Ce qui est étonnant, c'est qu'avec l'éditeur Irredit, je peux importé ce niveau et je vois toutes les textures sans soucis... c'est donc une erreur de code, que voici :
il y a juste une texture d'affichée, y'a t'il un flag spécial ou autre chose à rajouter pour pouvoir utiliser mes quatres images ? Je me suis aussi penché sur l'export vers le format .irr mais ce dernier est impossible à ouvrir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 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"));
Une dernière info, la console qui s'ouvre quand je lance mon programme, m'indique bien que mes images ont été chargées, il doit je pense juste manqué LE truc (mais LE quel ?)
Merci pour vos réponses.
EDIT :
J'ai trouvé où été mon erreur, voici le code qui fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 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(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"));
Partager