void shadow_caster_ps(
	float4 position	: POSITION,
	float2 depth		: TEXCOORD0,

	out float4 oColour	: COLOR,

	uniform float4 pssmSplitPoints)
{
	float finalDepth = depth.x / depth.y;
	oColour = float4(finalDepth, finalDepth, finalDepth, 1);
}

void shadow_caster_vs(
	float4 position			: POSITION,

	out float4 oPosition	: POSITION,
	out float2 oDepth		: TEXCOORD0,

	uniform float4x4 worldViewProjMatrix)
{
	oPosition = mul(worldViewProjMatrix, position);

	// depth info for the fragment.
	oDepth = oPosition.zw;
}