
void generalPurposeProjection_vp(
		float4 pos			: POSITION,
		
		out float4 oPos		: POSITION,
		out float4 texCoord : TEXCOORD0,

		uniform float4x4 worldViewProjMatrix,
		uniform float4x4 worldMatrix,
		uniform float4x4 texViewProjMatrix)
{
	oPos = mul(worldViewProjMatrix, pos);
	// multiply position by world matrix, then by projective view/proj
	float4 newpos = mul(worldMatrix, pos);
	texCoord = mul(texViewProjMatrix, newpos);
	
}

void generalPurposeProjection_fp(
		float4 texCoord		: TEXCOORD0,
		out float4 col		: COLOR,
		uniform sampler2D texMap)
{
	col = tex2Dproj(texMap, texCoord);

}
		

