Pages: 1
- Accueil forums
- » Discussions générales
- » Problème avec les textures de mon terrain
21-05-2013 16:25:36
- Vivienwow
- Membres
- Date d'inscription:
- Messages: 1
- IP: 95.136.144.117
- Courriel Site web
Bonjour,
Voilà mon problème : j'ai créer un plane sur Blender, je l'inclue dans mon projet irrlicht et je lui met une texture. Quelque soit la texture que je met irrlicht me met toujours la couleur dominante. Si je met une texture d'herbe, le terrain sera recouvert d'une couleur verte uniforme. Si je met une texture de sable, ce sera jaune...
Voici mon code :
Code c++ :
#include <irrlicht.h>
int main(void)
{
irr::IrrlichtDevice* device = irr::createDevice( // creation du device
irr::video::EDT_OPENGL, // API = OpenGL
irr::core::dimension2d<irr::u32>(640,480), // taille fenetre 640x480p
32); // 32 bits par pixel
irr::video::IVideoDriver* driver = // creation du driver video
device->getVideoDriver ();
irr::scene::ISceneManager* sceneManager = // creation du scene manager
device->getSceneManager ();
irr::gui::IGUIEnvironment *gui = device->getGUIEnvironment();
device->getCursorControl ()-> setVisible (false); // rend le curseur invisible
irr::scene::ISceneNode* ciel = sceneManager->addSkyBoxSceneNode(driver->getTexture("media/E060005.jpg"),
driver->getTexture("media/E060006.jpg"),
driver->getTexture("media/E060001.jpg"),
driver->getTexture("media/E060003.jpg"), // skybox
driver->getTexture("media/E060002.jpg"),
driver->getTexture("media/E060004.jpg"));
/* C'est ici que c'est important */
irr::scene::IAnimatedMeshSceneNode *plane= // cree un scene node nomme plane
sceneManager->addAnimatedMeshSceneNode ( // via le scene manager
sceneManager->getMesh ("media/plane.obj")); // en chargeant le mesh "plane.obj"
plane->setMaterialTexture(
0, driver->getTexture("media/wood_planks_01.tga"));
plane->setMaterialFlag(
irr::video::EMF_LIGHTING, false); // insensible à la lumière
plane->setPosition(irr::core::vector3df (1.0f,2.0f,1.0f));
/* Je ne comprends pas ce qu'il ne va pas */
/* CAMERA */
irr::SKeyMap keyMap[5]; // re-assigne les commandes
keyMap[0].Action = irr::EKA_MOVE_FORWARD; // avancer
keyMap[0].KeyCode = irr::KEY_KEY_Z; // z
keyMap[1].Action = irr::EKA_MOVE_BACKWARD; // reculer
keyMap[1].KeyCode = irr::KEY_KEY_S; // s
keyMap[2].Action = irr::EKA_STRAFE_LEFT; // a gauche
keyMap[2].KeyCode = irr::KEY_KEY_Q; // q
keyMap[3].Action = irr::EKA_STRAFE_RIGHT; // a droite
keyMap[3].KeyCode = irr::KEY_KEY_D; // d
keyMap[4].Action = irr::EKA_JUMP_UP; // saut
keyMap[4].KeyCode = irr::KEY_SPACE; // barre espace
sceneManager->addCameraSceneNodeFPS( // ajout de la camera FPS
0, 1000.0f, 0.1f, -1, keyMap, 3);
while(device->run ()) // la boucle de rendu
{
driver->beginScene(true, true,
irr::video::SColor (0,120,120,120));
sceneManager->drawAll();
driver->endScene ();
}
device->drop ();
return 0;
}Hors ligne
22-05-2013 10:47:45
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 193.54.203.134
- Courriel Site web
regarde du coter de pack_textureBlendFunc
http://irrlicht.sourceforge.net/docu/namespaceirr_1_1video.html#ad4d715752a69b052e582b06283513e49
Hors ligne
22-05-2013 13:57:19
- johnplayer
- Membres

- Date d'inscription:
- Messages: 431
- IP: 83.192.223.127
- Courriel
As-tu déplié l'UVW Map sous Blender?
Car si tu ne l'as pas fait, pas de coordonnées de textures sur tes vertex donc toutes à u,v(0,0) donc seul le pixel du coin en haut, à gauche de la texture sera visible sur toutes la surface de ton plan.
core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."
Hors ligne



