Historique des modifications - Message

Message #8113

Sujet: Plusieurs texture sur une mesh


Type Date Auteur Contenu
Création du message 17-03-2010 17:40:55 narugohan
Bon, j'ai trouvé une solution, je vous la passe :

La fonction :

Code c++ :


irr::video::ITexture* textureSuperpose(irr::video::IVideoDriver* driver, int nbxTexture, char* image[])
{    
    irr::video::ITexture* texture[nbxTexture];
    irr::video::IImage* imageContenueSup[nbxTexture-1];
    
    for( int i=0; i<nbxTexture; i++)
         texture[i] = driver->getTexture(image[i]);
    
    irr::video::IImage* imageConteneur = driver->createImage(texture[0], irr::core::position2d<irr::s32>(0,0), texture[0]->getSize());

    for( int i=0; i<nbxTexture-1; i++)
         imageContenueSup[i] = driver->createImage(texture[i+1], irr::core::position2d<irr::s32>(0,0), texture[0]->getSize());

    for(int x = 0; x < texture[0]->getSize().Width; x++)
    {
        for(int y = 0; y < texture[0]->getSize().Height; y++)
        {
            irr::video::SColor pixel = imageConteneur->getPixel(x, y);
            irr::video::SColor pixelCont[nbxTexture-1];
            
            for( int i=0; i<nbxTexture-1; i++)
            {
                 pixelCont[i] = imageContenueSup[i]->getPixel(x, y);
                 if( pixelCont[i].getAlpha() != 0 )
                     imageConteneur->setPixel(x, y, imageContenueSup[i]->getPixel(x, y));
            }
            
        }
    }
    return driver->addTexture("__3D_view_texture__", imageConteneur);
}


Utilisation de la fonction :

Code c++ :


char* cheminTexture[2];
         cheminTexture[0] = "texturePrincipale.jpg";
         cheminTexture[1] = "texture2.png";
         cheminTexture[2] = "texture3.png";
node->setMaterialTexture(0, textureSuperpose( driver, 3, cheminTexture));


Voilà, en espérent que sa aidera certaine personne ;p

PS : Je remerci ILovechocolat car c'est grâce à lui il m'a donné base pour faire mettre 1 texture en superposition et je les amélioré pour faire en sorte de pouvoir mettre plusieurs textures en superpostion, encore merçi à lui

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
114 invités en ligne
membre en ligne: -
RSS Feed