sampler2D tex0 : register(s0);
float glossMult : register(c1);

struct VS_out
{
	float4 Position         : POSITION;
	float3 TexCoord0        : TEXCOORD0;
	float3 Normal           : COLOR0;
	float3 Light            : COLOR1;
};

float4 main(VS_out input) : COLOR
{
	float4 color = tex2D(tex0, input.TexCoord0.xy);
	float3 n = 2.0*input.Normal-1.0;            // unpack
	float3 v = 2.0*input.Light-1.0;             //

	float s = dot(n, v);
	return s*s*s*s*s*s*s*s*color*input.TexCoord0.z*glossMult;
}

src/extras/shaders/neoGloss_PS.hlsl