matrix complete;
matrix world;
float4 eye;
float4 target;
float4 const_mount;
float time;
float scale;
float alpha;

struct vsinput
{
    float4 pos				: POSITION;
    float4 normal			: NORMAL;
    float2 tc				: TEXCOORD0;
};

struct vsoutput
{
    float4 pos				: POSITION;
    float2 tc				: TEXCOORD0;
    float4 diffuse			: COLOR0;
};


vsoutput main(vsinput v)
{
	vsoutput o;
		
	// MATRISE-GANGING
	v.normal = mul(v.normal, world);
	
	v.pos *= scale;
	v.pos.w = 1.0;
	o.pos = mul(v.pos, complete); 
	
	// ENVMAP
	o.tc.x = 0.5 * v.normal.y * 0.5;
	o.tc.y = v.pos.y * 0.01;
		
	o.diffuse = alpha;
	
	return o;	
}