26-12-2007 18:13:17
- khayyam
- Membres
- Date d'inscription:
- Messages: 25
- IP: 88.168.68.63
- Courriel Site web
Bien le bonjour,
Mon problème du jour concerne le renderToTexture.
Quand j'essaie d'afficher ma texture créée avec createRenderTargetTexture à l'écran, elle apparait la tête en bas.
Le principe du code : je dessine tux.png dans une texture et ensuite j'affiche cette texture. Et pour vérifier j'affiche directement tux.png à l'écran juste à côté.
irr::video::ITexture *tux = driver->getTexture("tux.png");
irr::video::ITexture *t = driver->createRenderTargetTexture(core::dimension2di(64,64));
driver->setRenderTarget(t, false, false);
driver->draw2DImage(tux, irr::core::position2di(0,0));
driver->setRenderTarget(0);et un affichage avec
driver->draw2DImage(t, irr::core::position2di(10,10));
driver->draw2DImage(tux, irr::core::position2di(150,10));mais t apparait la tête en bas, quelqu'un a une idée ?
Hors ligne
26-12-2007 18:49:52
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 78.116.70.193
- Courriel Site web
tu veut apliquer une texture sur un node ?
si ses sa tu fait sa ![]()
player = smgr->addAnimatedMeshSceneNode(smgr->getMesh("mesh/perso/faerie.md2"));
player->setRotation(irr::core::vector3df(0,0,0) );
player->setMaterialTexture(0, driver->getTexture("mesh/texture/faerie.bmp"));
player->setMaterialFlag(video::EMF_LIGHTING , false);
player->setMaterialFlag(video::EMF_FOG_ENABLE, false);
player->setPosition(vector3df(76,100,-61));
player->setScale(core::vector3df(1.5,1.5,1.5));
Hors ligne
26-12-2007 19:14:08
- khayyam
- Membres
- Date d'inscription:
- Messages: 25
- IP: 88.168.68.63
- Courriel Site web
Non je ne cherche pas à appliquer la texture sur un node, je veux juste faire du 2D
Hors ligne
26-12-2007 19:42:46
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 78.116.70.193
- Courriel Site web
ah ^^
device->getGUIEnvironment()->
addImage(driver->getTexture("image.jpg"),
core::position2d<s32>(axe.x,axe.y));
Hors ligne
26-12-2007 19:46:07
- khayyam
- Membres
- Date d'inscription:
- Messages: 25
- IP: 88.168.68.63
- Courriel Site web
Non je veux absolument passer par un renderToTexture. Je dois pouvoir rendre une (des) image dans un renderToTexture et afficher ce résultat en draw2D image
Hors ligne
26-12-2007 20:05:12
- Magun
- Administrateurs

- Date d'inscription:
- Messages: 910
- IP: 78.116.70.193
- Courriel Site web
bon ben jsais pas sinon ![]()
Hors ligne
26-12-2007 20:17:40
- Copland
- Modérateurs
- Date d'inscription:
- Messages: 657
- IP: 90.5.150.22
- Courriel Site web
Essaye d'inverser la matrice de ta camera juste avant le render to texture et après tu la remet d'origine, mais il me semblait que se problème avait été corrigé sur la version 1.4, tu utilises laquelle ?
Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.
Hors ligne
27-12-2007 15:23:32
- khayyam
- Membres
- Date d'inscription:
- Messages: 25
- IP: 88.168.68.63
- Courriel Site web
Alors en effet, j'étais en irrlicht 1.2. Le passage en 1.4 donne des résultats surprenants, voyez plutôt :
Il s'agit à chaque fois du rendu d'un tux 32x32 dans une texture 64x64 et d'un affichage des deux textures à l'écran.
version software (résultat correct)
version direct9 (résultat pas tout à fait ok)
version opengl (carrément pas bon, la texture 64x64 prend tout l'écran et est à l'envers)
- >
irr::video::ITexture *tux = driver->getTexture("tux.png"); irr::video::ITexture *t = driver->createRenderTargetTexture(irr::core::dimension2di(64, 64)); driver->setRenderTarget(t, false, false); driver->draw2DImage(tux, irr::core::position2di(0,0)); driver->setRenderTarget(0); ... driver->draw2DImage(t, irr::core::position2di(0,0)); driver->draw2DImage(tux, irr::core::position2di(100,0));
Quelqu'un peut-il m'éclairer / donner une solution ?
Hors ligne
27-12-2007 22:56:44
- Copland
- Modérateurs
- Date d'inscription:
- Messages: 657
- IP: 90.5.150.22
- Courriel Site web
Juste pour voir, tu devrais afficher ton image de tux sur un cube, faire ton render to texture et le récupérer en tant qu'image et voir si il est à l'endroit...
A mon avis irrlicht est pas prévu pour capturer du 2D dans un rtt tout simplement.
Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.
Hors ligne



