Améliorer le rendu avec le High Level Shader Language
CHAPITRE 13
311
sampler TextureSampler = sampler_state
{
texture =;
magfilter = LINEAR;
minfilter = LINEAR;
mipfilter = LINEAR;
AddressU = mirror;
AddressV = mirror;
};
struct VertexInput
{
float4 Position : POSITION;
float2 TexCoord : TEXCOORD0;
};
struct VertexOutput
{
float4 Position : POSITION;
float2 TexCoord : TEXCOORD0;
};
VertexOutput vertexShader(VertexInput input)
{
VertexOutput output;
WorldViewProjection = mul(mul(World, View), Projection);
output.Position = mul(input.Position, WorldViewProjection);
output.TexCoord = input.TexCoord;
return( output );
}
struct PixelInput
{
float2 TexCoord : TEXCOORD0;
};
float4 pixelShader(PixelInput input) : COLOR
{
return tex2D(TextureSampler, input.TexCoord);
}
technique Default
{
pass P0
{
VertexShader = compile vs_1_1 vertexShader();
PixelShader = compile ps_1_1 pixelShader();
}
}
=Labat FM.book Page 311 Vendredi, 19. juin 2009 4:01 16
CHAPITRE 13
311
sampler TextureSampler = sampler_state
{
texture =
magfilter = LINEAR;
minfilter = LINEAR;
mipfilter = LINEAR;
AddressU = mirror;
AddressV = mirror;
};
struct VertexInput
{
float4 Position : POSITION;
float2 TexCoord : TEXCOORD0;
};
struct VertexOutput
{
float4 Position : POSITION;
float2 TexCoord : TEXCOORD0;
};
VertexOutput vertexShader(VertexInput input)
{
VertexOutput output;
WorldViewProjection = mul(mul(World, View), Projection);
output.Position = mul(input.Position, WorldViewProjection);
output.TexCoord = input.TexCoord;
return( output );
}
struct PixelInput
{
float2 TexCoord : TEXCOORD0;
};
float4 pixelShader(PixelInput input) : COLOR
{
return tex2D(TextureSampler, input.TexCoord);
}
technique Default
{
pass P0
{
VertexShader = compile vs_1_1 vertexShader();
PixelShader = compile ps_1_1 pixelShader();
}
}
=Labat FM.book Page 311 Vendredi, 19. juin 2009 4:01 16
