#0 

27-02-2010 21:58:20

narugohan
Abonné
Date d'inscription: 24-03-2009
Messages: 113

Bonjour à tous,
J'ai une question. J'aimerais savoir si il existe une fonction dans irrlicht pour rendre un texture transparente, enfin quand je dis transparente, c'est de la transparence, mais en partie. Je m'explique :
J'ai un mur ou j'aimerai appliquer une texture grillage dessus, et rendre transparent se qui est entre les mailles de mon grillage, pour que mon mur devienne transparent mais que l'on voie alors que le grillage.
Je c pas si je me suis bien expliqué^^, mais je vous remercie d'avence pour votre réponse

Hors ligne


#1 

27-02-2010 22:02:22

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 910
Corrections: 2
Site web

tu a juste a utiliser une texture d'extension tga ou png ... la transparence s'applique tout seul ...

Hors ligne


#2 

27-02-2010 22:15:24

narugohan
Abonné
Date d'inscription: 24-03-2009
Messages: 113

sa marche pas. Si c'est une image 2d sur l'écran, oui sa marche mais comme texture sur mon mur, sa marche pas, enfin si a moitié. Se qui devrait etre transparent est remplacé par du blanc, et moi se que je voudrait, sa serai pouvoir voir a travers le mur, se qui évite d'utilisé des vector pour faire un grillage, j'ai vu quelque jeu qui utilse cette technique, donc j'aimerai l'appliqué dans irrlicht

Hors ligne


#3 

28-02-2010 00:15:45

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

Il faut changer le type de materiel aussi:
exemple pour un nœud appelé cube, essaye celui là je crois:

Code c++ :

cube->setMaterialType( EMT_TRANSPARENT_ALPHA_CHANNEL);


Mais il faut aussi utilisé une texture en png ou tga, mais il ne faut pas seulement laisser en blanc les partie que tu ne veut pas afficher, il faut carrément les supprimées.

Dernière modification par nabouill (28-02-2010 00:17:00)


mes sites: www.manga-vf.fr et www.series-vf.fr

Hors ligne


#4 

28-02-2010 14:10:05

narugohan
Abonné
Date d'inscription: 24-03-2009
Messages: 113

je te remerci car en rajoutant cette ligne, c'est bon, sa fonctionne, je voie a travers^^. Par contre j'ai comme meme une petite quesiton, car bien sur mon mur ne peux se voir que d'un coté, mais il n'y aurai pas une maniere pour que la texture puisse se voir devant et derière, si non, bah c'est pas grave, je ferai une éppaiseur très fine^^
Encore merci et bonne journée

Hors ligne


#5 

28-02-2010 19:31:20

Darktib
Membre
Date d'inscription: 20-11-2009
Messages: 11

Pour que tu puisse voir la texture des 2 cotés, il faut que tu désactive le backface culling, dans le matériaux du mur.

(ie, cette technique empêche le rendu de tous les polygones qui tourne le dos à la caméra, c'est une technique d'optimisation)

Hors ligne


#6 

28-02-2010 21:59:10

narugohan
Abonné
Date d'inscription: 24-03-2009
Messages: 113

ok, mais comment est-ce que je fais sa ??? ^^

Hors ligne


#7 

28-02-2010 22:10:39

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

Hummm... il y a une doc pour çà. bon....

Code c++ :

irr::video::SMaterial monMaterial;
monMaterial.BackfaceCulling = false;

Dernière modification par nabouill (28-02-2010 22:13:39)


mes sites: www.manga-vf.fr et www.series-vf.fr

Hors ligne


#8 

01-03-2010 19:27:02

narugohan
Abonné
Date d'inscription: 24-03-2009
Messages: 113

ok mais quand je rajoute sa..... sa fais rien ><, donc faut t'il rajouté quelque chose de plus ?

Hors ligne


#9 

03-03-2010 13:33:42

narugohan
Abonné
Date d'inscription: 24-03-2009
Messages: 113

UP SVP

Hors ligne


#10 

03-03-2010 13:52:35

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

Il faudrait savoir si ton mur est une simple surface plane ou un cube ou ...
Et aussi un petit bout de code, car ça me parait bizarre que rien ne marche chez toi
A+


mes sites: www.manga-vf.fr et www.series-vf.fr

Hors ligne


#11 

03-03-2010 14:19:23

narugohan
Abonné
Date d'inscription: 24-03-2009
Messages: 113

alors mon mur est juste une surface plane, et voiçi le code

Code:

#include <cstdlib>
#include <iostream>
#include <irr/irrlicht.h>

using namespace std;

using namespace irr;

using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;

int main(void)
{
    irr::IrrlichtDevice* device = irr::createDevice( irr::video::EDT_OPENGL, irr::core::dimension2d<irr::u32>(640,480), 32);
    irr::video::IVideoDriver* driver = device->getVideoDriver ();
    irr::scene::ISceneManager *sceneManager = device->getSceneManager ();

    
    irr::scene::IAnimatedMeshSceneNode* Nmodele = sceneManager->addAnimatedMeshSceneNode(sceneManager->getMesh("mur.3ds"));
    Nmodele->setMaterialFlag(EMF_LIGHTING, false);   
    irr::video::ITexture *grillage = driver->getTexture("grillage.png");  // chargement image
    
    Nmodele->setMaterialTexture( 0, grillage);
    Nmodele->setMaterialType( EMT_TRANSPARENT_ALPHA_CHANNEL);
    
    irr::video::SMaterial mat;
    mat.BackfaceCulling = false;
    
    irr::scene::ICameraSceneNode *camera = sceneManager->addCameraSceneNodeFPS(0,100.0f,1.0f);
 
    while(device->run ())
    {
      driver->beginScene(true, true, irr::video::SColor (0,120,120,120));
      sceneManager->drawAll ();
      driver->endScene ();
    }
    device->drop ();
    return 0;
}

Dernière modification par narugohan (03-03-2010 15:01:02)

Hors ligne


#12 

04-03-2010 09:43:38

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

Salut, tu crée un materiel "mat", mais tu ne tant sert pas, il faut que tu attribue ton materiel a ton noeud de scene sinon ça ne sert a rien.


mes sites: www.manga-vf.fr et www.series-vf.fr

Hors ligne


#13 

04-03-2010 16:23:20

narugohan
Abonné
Date d'inscription: 24-03-2009
Messages: 113

c bien sa, comment je fais pour l'attribuer lol

Hors ligne


#14 

04-03-2010 20:11:35

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

jette dont un coup d'oeil par la: http://irrlicht-fr.org/viewtopic.php?pid=8050#p8050


mes sites: www.manga-vf.fr et www.series-vf.fr

Hors ligne


#15 

04-03-2010 20:25:43

narugohan
Abonné
Date d'inscription: 24-03-2009
Messages: 113

merci sa marche, encore merci ;p

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
882 membres
1429 sujets
11119 messages
Dernier membre inscrit: LiseBuisson96
85 invités en ligne
Aucun membre connecté
RSS Feed