Bonjours a tous !
Je viens récemment de faire la découverte d'un truc absolument génialissime, les filtre de convolution .
Pour la théorie j'ai appris ici : http://www.siteduzero.com/tutoriel-3-80 … ution.html
Donc il faudrait que je fasse ça grâce aux shader (parceque sinon c'est plutôt lourd), j'ai déjà le Quad de ma vision en 3D donc pour ça c'est bon mais le problème c'est que je doit récupérer les pixel autour de celui qui est sélectionné par le fragShader, mais comment faire ?
Hors ligne
L'idée est de faire un render to texture (cf les methodes irr::video::driver::addRenderTargetTexture , irr::video::driver::setRenderTarget)puis un deuxieme rendu avec le quad seulement , quad texturé avec le rendu de la scene avec un shader "filtre".
Dans le fragment shader tu récupères la coordonnée du pixel en cours de traitement et la valeur des pixels voisins de la texture puis tu y fais tout les maths voulues.C'est si je ne m'abuses le "postprocess" .Tu peux même avec cette methode ,faire des effets de distortions ( chaleur , verre irrégulier ... ),de flou type DOF = depth of field (en gros une mixage du type gaussien pondérée par le zbuffer = plus on est loin plus le flou est fort ) , HDR .... en gros la majoritée des jolies petits effets present des les jeux depuis maintenant quelques années
Hors ligne