matrix ViewMatrix : c0;

struct VS_INPUT
{
vector Position	: POSITION;
vector TextureC	: TEXCOORD0;
vector Texture	: TEXCOORD1;
};

struct VS_OUTPUT
{
vector Position	: POSITION;
vector Texture1	: TEXCOORD0;
vector Texture2	: TEXCOORD1;
};

VS_OUTPUT Main(VS_INPUT input)
{
VS_OUTPUT output = (VS_OUTPUT)0;

input.Position.x += input.Texture.x * input.Position.z;
input.Position.y += input.Texture.y * input.Position.z;
input.Position.z = 0.0f;
output.Position = mul(ViewMatrix, input.Position);
output.Texture1.x = input.TextureC.x + input.Texture.x * 0.5f;
output.Texture1.y = input.TextureC.y + input.Texture.y * 0.5f;
output.Texture2.x = (output.Position.x * 0.5) + 0.5f;
output.Texture2.y = ((output.Position.y * -0.5) + 0.5f) * 0.7492682927f + 0.001f;

return output;
}