Guillaume André

Apprentissage, étude et approfondissement des nouvelles technologies

30 Mar, 2009

Silverlight 3 : Pixel shaders (effets graphiques)

Posted by: Guillaume Andre In: Silverlight

Silverlight 3 introduit la possibilité de modifier les rendus graphiques avec les Pixel shaders. Cette fonctionnalité est connue des développeurs et utilisateurs WPF. Pour aller droit au but voici ce à quoi peut servir les Pixel shaders au sein de Silverlight :
Silverlight3 : Pixel shaders effect

Côté XAML

<TextBlock Text=”Pixel shaders”>
     <TextBlock.Effect>
          <DropShadowEffect BlurRadius=”5″ Direction=”-50″ ShadowDepth=”5″ Color=”Black”></DropShadowEffect>
     </TextBlock.Effect>
</TextBlock>
<Button Content=”Pixel shaders” FontSize=”30″ Margin=”20″>
     <Button.Effect>
          <BlurEffect Radius=”10″></BlurEffect>
     </Button.Effect>
</Button>

Comme le montre l’exemple ci-contre les Pixel Shaders peuvent servir à appliquer des effets graphiques tel que des effets de “Blur” et des effets d’ombrage “Shadow”. Un Pixel Shader est un objet qui transforme les pixels juste avant le rendu. Par défaut, Silverlight proposes deux effets différents : BlurEffect et DropShadowEffect. L’un des gros points fort de cette nouveauté est la possibilité d’en créer soit même. Oui, il est possible de créer soit même ses effets graphiques personnalisés. Pour cela il faut utiliser le langage High-Level Shading Language (HLSL) et le SDK de DirectX. Le développement d’effet graphique personnalisé étant très spécifique il fera l’objet d’un autre post. L’activation de l’accélération matériel va de paire avec cette fonctionnalité.

Comme vu ci-dessus, il est possible de créer soit même ses effets graphiques. Silverlight et WPF “se rapprochant/mélangeant de plus en plus”, le projet CodePlex WPFFX qui propose une grande quantité d’effet graphique pour WPF, a été déporté pour Silverlight !

 
View on Vimeo.

Voici l’url de test WPFFX pour Silverlight (Nécessite le plugin 3 version développeur) : http://www.cookingwithxaml.com/meals/wpfslfx/default.html

Les effets inclus dans WPFFX Silverlight :
BandedSwirl, Bloom, BrightExtract, ColorKeyAlpha, ColorTone, ContrastAdjust, DirectionalBlur, Embossed, Gloom, GrowablePoissonDiskEffect, InvertColor, LightStreak, Magnify, Monochrome, Pinch, Pixelate, Ripple, Sharpen, SmoothMagnify, Swirl, Tone, Toon, and ZoomBlur

Les effets de transition inclus dans WPFFX Silverlight :
BandedSwirl, Blings, Blood, CircleReveal, CircleStretch, CircularBlur, CloudReveral, Cloudy, Crumble, Dissolve, DropFade, Fade, LeastBright, LineReveal, MostBright, PixelateIn, PixelateOut, Pixelate, RadialBlur, RadialWiggle, RandomCircleReveal, Ripple, Rotate, Saturate, Shrink, SlideIn, SmoothSwirl, Swirl, Water, Wave.

Inutile de vous dire que la plupart des effets connus du grand public sont présents dans cette fabuleuse librairie. Lien blog msdn

No Responses to "Silverlight 3 : Pixel shaders (effets graphiques)"

Comments are closed.