#1 

17-05-2010 11:26:09

Ilovechocolat
Membres
Date d'inscription:
Messages: 125
IP: 92.143.24.130
Courriel

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-80697-les-filtres-de-convolution.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


#2 

20-05-2010 16:03:30

firnafin
Membres
Avatar de firnafin
Date d'inscription:
Messages: 150
IP: 93.15.61.18
Courriel

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


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