//----------------------------------------------------------------------------- // World/View/Projection Variables //----------------------------------------------------------------------------- float4x4 World; float4x4 View; float4x4 Projection; //----------------------------------------------------------------------------- // Textures and Texture Samplers //----------------------------------------------------------------------------- texture BasicTexture; sampler TextureSampler = sampler_state { Texture = (BasicTexture); MipFilter = Linear; MinFilter = Linear; MagFilter = Linear; }; //----------------------------------------------------------------------------- // Input/Output Structures //----------------------------------------------------------------------------- struct VertexShaderInput { float4 Position : POSITION0; float2 TextureCoords : TEXCOORD0; }; struct VertexShaderOutput { float4 Position : POSITION0; float2 TextureCoords : TEXCOORD0; }; //----------------------------------------------------------------------------- // Vertex Shader //----------------------------------------------------------------------------- VertexShaderOutput VertexShaderFunction(VertexShaderInput input) { VertexShaderOutput output; float4 worldPosition = mul(input.Position, World); float4 viewPosition = mul(worldPosition, View); output.Position = mul(viewPosition, Projection); output.TextureCoords = input.TextureCoords; return output; } //----------------------------------------------------------------------------- // Pixel Shader //----------------------------------------------------------------------------- float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0 { return tex2D(TextureSampler, input.TextureCoords); } //----------------------------------------------------------------------------- // Techniques and Passes //----------------------------------------------------------------------------- technique Technique1 { pass Pass1 { VertexShader = compile vs_1_1 VertexShaderFunction(); PixelShader = compile ps_1_1 PixelShaderFunction(); } }