Améliorer le rendu avec le High Level Shader Language
CHAPITRE 13
317
float4 pixelShader(PixelInput input) : COLOR
{
float4 color = tex2D( TextureSampler,
float2(input.TexCoord.x+Distance, input.TexCoord.y+Distance));
color += tex2D( TextureSampler,
float2(input.TexCoord.x-Distance, input.TexCoord.y-Distance));
color += tex2D( TextureSampler,
float2(input.TexCoord.x+Distance, input.TexCoord.y-Distance));
color += tex2D( TextureSampler,
float2(input.TexCoord.x-Distance, input.TexCoord.y+Distance));
color = color / 4;
return( color );
}
Comme pour l’effet précédent, le paramètre dynamique sera modifié si le joueur appuie
sur la touche PageUp ou sur la touche PageDown.
float distance = 0;
public void Update(GameTime gameTime)
{
if (Keyboard.GetState().IsKeyDown(Keys.PageUp))
{
distance += 0.001f;
effect.Parameters["Distance"].SetValue(distance);
}
else if (Keyboard.GetState().IsKeyDown(Keys.PageDown))
{
distance -= 0.001f;
effect.Parameters["Distance"].SetValue(distance);
}
}
Vous remarquez que sur la figure suivante, la texture appliquée au cube est floutée.
Figure 13-8
Le cube flouté
=Labat FM.book Page 317 Vendredi, 19. juin 2009 4:01 16
Précédent

- 338/366

Suivant