1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- float4x4 World;
- float4x4 View;
- float4x4 Projection;
- sampler TextureSampler : register(s0);
- // TODO: add effect parameters here.
- struct VertexShaderInput
- {
- float4 Position : POSITION0;
- float4 Color : COLOR0;
- float4 TextureCoordinate : TEXCOORD0;
- float4 Color2 : COLOR1;
- };
- struct VertexShaderOutput
- {
- float4 Position : POSITION0;
- float4 Color : COLOR0;
- float4 TextureCoordinate : TEXCOORD0;
- float4 Color2 : COLOR1;
- };
- VertexShaderOutput VertexShaderFunction(VertexShaderInput input)
- {
- VertexShaderOutput output;
- float4 worldPosition = mul(input.Position, World);
- float4 viewPosition = mul(worldPosition, View);
- output.Position = mul(viewPosition, Projection);
- output.TextureCoordinate = input.TextureCoordinate;
- output.Color = input.Color;
- output.Color2 = input.Color2;
- return output;
- }
- float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0
- {
- float4 texColor = tex2D(TextureSampler, input.TextureCoordinate);
- float alpha = texColor.a * input.Color.a;
- float4 output;
- output.a = alpha;
- output.rgb = ((texColor.a - 1.0) * input.Color2.a + 1.0 - texColor.rgb) * input.Color2.rgb + texColor.rgb * input.Color.rgb;
- return output;
- }
- technique Technique1
- {
- pass Pass1
- {
- // TODO: set renderstates here.
- VertexShader = compile vs_2_0 VertexShaderFunction();
- PixelShader = compile ps_2_0 PixelShaderFunction();
- }
- }
|