Historique des modifications - Message

Message #4635

Sujet: shader sous 3ds max et irrlicht


TypeDateAuteurContenu
Dernière modification23-10-2008 16:40:57johnplayer
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 message23-10-2008 16:23:22johnplayer
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

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
304 invités en ligne
membre en ligne: -
RSS Feed