 					);
 				}
 				
-				if (quality >= ShadowMappingQuality.HARD)
+				if (quality > ShadowMappingQuality.HARD)
 				{
 					uvDelta = multiply(float4(-2, -1, 1, 2), invertSize);
 					uvs.push(

					);
				}
				
				if (quality >= ShadowMappingQuality.MEDIUM)
				{
					uvDelta = multiply(float3(-2, 0, 2), invertSize);
					uvs.push(

				var uvs 		: Vector.<SFloat>	= new <SFloat>[];
				var uvDelta		: SFloat;
				
				if (quality > ShadowMappingQuality.LOW)
				{
					uvDelta = multiply(float3(-1, 0, 1), invertSize);
					uvs.push(
