26-05-2010 12:19:50
- Kit-fisto24
- Membres
- Date d'inscription:
- Messages: 60
- IP: 86.209.109.77
- Courriel
Salut,
J'ai (encore :s ) un problème avec Irrlicht. Je voudrais créer un terrain avec une image qui ne mesure que 80x80. Le problème est que cela bug, le terrain ne forme qu'une partie de l'image alors que si je met le terrain en 256x256, tout le terrain s'affiche. Comment régler ce problème en sachant que je ne veux pas changer la taille de l'image (pour raison technique)?
Voici le code du terrain:
scene::ITerrainSceneNode* terrain = smgr->addTerrainSceneNode(
"niveau1.bmp",
0,
-1,
core::vector3df(0.f, 0.f, 0.f),
core::vector3df(0.f, 0.f, 0.f),
core::vector3df(80, 20, 80),
video::SColor ( 255, 255, 255, 255 ),
5,
scene::ETPS_17,
4
);
terrain->setMaterialFlag(video::EMF_LIGHTING, false);
terrain->setMaterialTexture(0,
driver->getTexture("C:\\\\Users\\\\Nicolas\\\\irrlicht-1.6\\\\media\\\ errain-texture.jpg"));
terrain->setMaterialTexture(1,
driver->getTexture("C:\\\\Users\\\\Nicolas\\\\irrlicht-1.6\\\\media\\\\detailmap3.jpg"));
terrain->setMaterialType(video::EMT_DETAIL_MAP);
terrain->scaleTexture(1.0f, 20.0f);
scene::CDynamicMeshBuffer* buffer = new scene::CDynamicMeshBuffer(video::EVT_2TCOORDS, video::EIT_16BIT);
terrain->getMeshBufferForLOD(*buffer, 0);
video::S3DVertex2TCoords* data = (video::S3DVertex2TCoords*)buffer->getVertexBuffer().getData();
buffer->drop();Hors ligne
26-05-2010 16:11:17
- firnafin
- Membres

- Date d'inscription:
- Messages: 150
- IP: 93.9.159.156
- Courriel
d'une marniere générale travailler ac des textures qui ne sont pas une puissance de 2 est une mauvaise idée.Peut etre que ton probleme vient tout simplement de ça.
Hors ligne
26-05-2010 17:24:57
- Kit-fisto24
- Membres
- Date d'inscription:
- Messages: 60
- IP: 86.209.109.77
- Courriel
Mais mais textures sont des puissances de 2.
Hors ligne
26-05-2010 19:08:43
- Zorian
- Modérateurs
- Date d'inscription:
- Messages: 19
- IP: 82.231.128.145
- Courriel
C'est ton terrain qui doit avoir une taille égale à une puissance de 2.
Real Programmers Don't Document - If it was hard to write, it should be hard to understand.
Hors ligne
26-05-2010 20:51:50
- nabouill
- Membres

- Date d'inscription:
- Messages: 242
- IP: 79.92.227.159
- Courriel
en gros ton heightmap, d'ailleur Irrlicht se base sur le taille de ton heightmap pour definir la grandeur du terrain, et si tu n'utilise pas un multiple de 2, ça devient un peu n'importe quoi, il n'arrive pas a bien calculer les hauteur non plus.
Hors ligne
27-06-2010 10:37:59
- Kit-fisto24
- Membres
- Date d'inscription:
- Messages: 60
- IP: 81.251.134.201
- Courriel
Ok, merci.
Donc maintenant, j'utilise une image qui mesure 256*256, mais même avec cela, le terrain ne correspond pas exactement a l'image. Même avec un terrain aussi simple que celui-ci : http://img96.imageshack.us/i/niveau1.png/ , une fois le terrain générer une partie est manquante ( le trait qui sort du "rond" a gauche de l'image n'y est pas comme si le terrain avait été coupé juste avant. Je voudrais que tout l'image soit visible. Comment faire?
Hors ligne



