WPF : Effets et pixel shaders
Bonjour,
Je viens d'achever un nouvel article concernant une nouveauté du SP1 du Framework 3.5. Cela concerne les effets sur les images, plus généralement les effets sur tout les éléments dérivant de "UIElement". Utilisateurs des effets fournis avec les précédents Framework 3.0 ou 3.5, vous avez sans doute abandonné l'usage des "BitmapEffect" étant donnés les problèmes de performance.
L'équipe WPF a pris en compte les reproches des développeurs en proposant un nouveau modèle pour la conception d'effets sous WPF. Ce modèle s'appuie sur les pixel shaders de DirectX, ces mini-programmes s'éxécutant sur la carte graphique. Les performances n'ont plus rien à voir avec celles des "BitmapEffect" car cette fois-ci, la configuration matérielle est prise en compte.
Je vous propose une initiation à ce nouveau modèle de conception d'effets :
http://www.techheadbrothers.com/Articles.aspx/wpf-effets-pixel-shaders
Etant données les notions abordées diverses, il s'agit d'un de mes articles qui m'a donné le plus difficulté concernant la pédagogie. J'espère être parvenu à faciliter la compréhension de la mise en oeuvre d'effets sur les visuels WPF avec les pixel shaders. Notez qu'il existe quelques articles en langue anglaise sur le sujet. Je reprends évidemment les notions déjà abordées par ceux-ci mais vous trouverez des explications supplémentaires inédites, par exemple, sur le mode d'échantillonage, sur le compilateur de shaders, deux effets inédits (correction d'exposition, Laplacien) ainsi que la prise en compte des pixels voisins (filtrage). Dans les prochains jours, je devrais mettre en ligne quelques codes d'effets sur le réseau CodeS-SourceS.
Vous pouvez retrouvez mes précédents articles : ici
Merci à Thomas pour sa relecture. N'hésitez pas à lire son livre très pédagogique WPF par la pratique pour vous initier ou revoir les fondamentaux de WPF. Le livre d'Olivier : WPF Développez des applications riches sous Windows qui a des qualités indéniables conviendra peut-être plus aux déjà initiés.
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :