Historique des modifications - Message

Message #4635

Sujet: shader sous 3ds max et irrlicht


Type Date Auteur Contenu
Dernière modification 23-10-2008 16:40:57 johnplayer
Tout simplement magnifique! En plus, il est fait sur mesure. Grand merci Aranoth!
Juste quelques coins d'ombres, tu as écrit :
core::matrix4 invWorld = driver->getTransform(video::ETS_WORLD);
invWorld.makeInverse();
services->setVertexShaderConstant("mInvWorld", invWorld.pointer(), 16);
 
// Set clip matrix
core::matrix4 worldViewProj;
worldViewProj = driver->getTransform(video::ETS_PROJECTION);
worldViewProj *= driver->getTransform(video::ETS_VIEW);
worldViewProj *= driver->getTransform(video::ETS_WORLD);
services->setVertexShaderConstant("mWorldViewProj", worldViewProj.pointer(), 16);

Au final, que représente invWorld et WorldViewproject.
Pour WorldViewproject, je dirais que c'est ce que voit la camera mais j'en doute fortement. Mais bon, j'attends la réponse du connaisseurc'est plus sûr.
Autres remarques, d'après ce que j'ai pu lire sur le Net, le shader est appelé autant de fois que de texel à calculer d'où la nécessité d'avoir (et de toute façon de devoir) une variable externe pour l'animation.
Parce que pour produire mes propres shaders j'ai besoin de le savoir afin de savoir ce que je manipule. Par la suite, j'aimerai rajouter la réflection et la réfraction, du moins quand j'en aurais le niveau.
En tout cas, tuto nickel et super rapide à comprendre. Encore une fois merci. Et au fait, ton tuto est utile, il y a pas mal de monde qui vas aller le voir tu peux en être sûr.
Création du message 23-10-2008 16:23:22 johnplayer
Tout simplement magnifique! En plus, il est fait sur mesure. Grand merci Aranoth!
Juste quelques coins d'ombres, tu as écrit :
core::matrix4 invWorld = driver->getTransform(video::ETS_WORLD);
invWorld.makeInverse();
services->setVertexShaderConstant("mInvWorld", invWorld.pointer(), 16);
 
// Set clip matrix
core::matrix4 worldViewProj;
worldViewProj = driver->getTransform(video::ETS_PROJECTION);
worldViewProj *= driver->getTransform(video::ETS_VIEW);
worldViewProj *= driver->getTransform(video::ETS_WORLD);
services->setVertexShaderConstant("mWorldViewProj", worldViewProj.pointer(), 16);

Au final, que représente invWorld et WorldViewproject.
Pour WorldViewproject, je dirais que c'est ce que voit la camera mais j'en doute fortement. Mais bon, j'attends la réponse du connaisseurc'est plus sûr.
Autres remarques, d'après ce que j'ai pu lire sur le Net, le shader est appelé autant de fois que de texel à calculer d'où la nécessité d'avoir (et de toute façon de devoir) une variable externe pour l'animation.
Parce que pour produire mes propres shaders j'ai besoin de le savoir afin de savoir ce que je manipule. Par la suite, j'aimerai rajouter la réflection et la réfraction, du moins quand j'en aurais le niveau.
En tout cas, tuto nickel et super rapide à comprendre. Encore une fois merci. Et au fait, ton tuto est utile, il y a pas mal de monde qui vas aller le voir tu peux en être sûr.

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