Historique des modifications - Message

Message #4646

Sujet: shader sous 3ds max et irrlicht


Type Date Auteur Contenu
Dernière modification 24-10-2008 18:41:08 johnplayer
Dans video driver il y a ça :

1/ setClipPlane (u32 index, const core::plane3df &plane, bool enable=false)

2/ enableClipPlane (u32 index, bool enable)

3/ setRenderTarget (video::ITexture *texture, bool clearBackBuffer=true, bool clearZBuffer=true, SColor color=video::SColor(0, 0, 0, 0))


Donc pour les fonctions c'est ok, maintenant pour l'utilisation.

Avant la boucle de rendu :
ITexture * tex_refrac = 0; // texture de rendu pour la réfraction
plane3df refraction.setPlane(const vector3df &point1, const vector3df &point2, const vector3df &point3); // à remplacer par les valeurs. 
refraction.Normal = vector3df(x,y,z); // normale du plan
//refraction.D = valeur; // ?
driver->setClipPlane(1,refraction,false); // on créé le clipping plane désactivé
// on met la texture dans le materiaux du waterscenenode
node->setMaterialTexture(2, tex_refract);

Dans la boucle de rendu :
while ( device->run() )
{
if ( device->isWindowActive() )
{
     driver->beginScene(true, true, SColor(255,128,128,128));
     // texture pour la refraction
     driver->enableClipPlane(1, true);
     driver->setRenderTarget(tex_refrac);
     driver->enableClipPlane(1, false);
     // on dessine la scene
     smgr->drawAll();
     driver->endScene();
}
}

Je t'avouerais que pour l'utilisation je ne suis pas sûr de mon coup.
Maintenant quelques questions :
1/ Pourquoi 3 points alors que 2 auraient suffit pour créer le plan ?
2/ refraction.D, je n'en comprend pas l'utilité. En ai-je besoin ? Si oui, comment la paramétrer ?
Création du message 24-10-2008 17:55:51 johnplayer
Dans video driver il y a ça :

1/ setClipPlane (u32 index, const core::plane3df &plane, bool enable=false)

2/ enableClipPlane (u32 index, bool enable)

3/ setRenderTarget (video::ITexture *texture, bool clearBackBuffer=true, bool clearZBuffer=true, SColor color=video::SColor(0, 0, 0, 0))


Donc pour les fonctions c'est ok, maintenant pour l'utilisation.

Avant la boucle de rendu :
ITexture * tex_refrac = 0; // texture de rendu pour la réfraction
plane3df refraction.setPlane(const vector3df &point1, const vector3df &point2, const vector3df &point3); // à remplacer par les valeurs. 
refraction.Normal = vector3df(x,y,z); // normale du plan
//refraction.D = valeur; // ?
driver->setClipPlane(1,refraction,false); // on créé le clipping plane désactivé
// on met la texture dans le materiaux du waterscenenode
node->setMaterialTexture(2, tex_refract);

Dans la boucle de rendu :
while ( device->run() )
{
if ( device->isWindowActive() )
{
     driver->beginScene(true, true, SColor(255,128,128,128));
     // texture pour la refraction
     driver->enableClipPlane(1, true);
     driver->setRenderTarget(tex_refrac);
     driver->enableClipPlane(1, false);
     // on dessine la scene
     smgr->drawAll();
     driver->endScene();
}
}

Je t'avouerais que pour l'utilisation je ne suis pas sûr de mon coup.
Maintenant quelques questions :
1/ Pourquoi 3 points alors que 2 auraient suffit pour créer le plan ?
2/ refraction.D, je n'en comprend pas l'utilité. En ai-je besoin ? Si oui, comment la paramétrer ?

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
150 invités en ligne
membre en ligne: -
RSS Feed