49 lines
1.1 KiB
HLSL
49 lines
1.1 KiB
HLSL
// This file is part of the ANX.Framework created by the
|
|
// "ANX.Framework developer group" and released under the Ms-PL license.
|
|
// For details see: http://anxframework.codeplex.com/license
|
|
|
|
uniform extern float4x4 MatrixTransform;
|
|
|
|
Texture2D<float4> Texture : register(t0);
|
|
sampler TextureSampler : register(s0);
|
|
|
|
struct VertexShaderInput
|
|
{
|
|
float4 pos : POSITION;
|
|
float4 col : COLOR;
|
|
float2 tex : TEXCOORD0;
|
|
};
|
|
|
|
struct PixelShaderInput
|
|
{
|
|
float4 pos : SV_POSITION;
|
|
float4 col : COLOR;
|
|
float2 tex : TEXCOORD0;
|
|
};
|
|
|
|
PixelShaderInput SpriteVertexShader( VertexShaderInput input )
|
|
{
|
|
PixelShaderInput output = (PixelShaderInput)0;
|
|
|
|
output.pos = mul(input.pos, MatrixTransform);
|
|
output.col = input.col;
|
|
output.tex = input.tex;
|
|
|
|
return output;
|
|
}
|
|
|
|
float4 SpritePixelShader( PixelShaderInput input ) : SV_Target
|
|
{
|
|
return Texture.Sample(TextureSampler, input.tex) * input.col;
|
|
}
|
|
|
|
technique10 SpriteTechnique
|
|
{
|
|
pass SpriteColorPass
|
|
{
|
|
SetGeometryShader( 0 );
|
|
SetVertexShader( CompileShader( vs_4_0, SpriteVertexShader() ) );
|
|
SetPixelShader( CompileShader( ps_4_0, SpritePixelShader() ) );
|
|
}
|
|
}
|