 		{
 			sample.a = uMinimumAlpha;
 		}
-		break;
-
-	case 3:
 		break;
 	}
 

			break;
		}

		// Accumulation test
		if (LengthAccumulator >= Length || AlphaAccumulator > 1.0)
		{
			if (uDebugLevel == 2)
			{
				outFragColor = vec4(1, 1, 1, 1);
				return;
			}
			break;
		}
	}

	if (uDebugLevel == 1)
		outFragColor = vec4(FrontPosition, 1.0);

	float LengthAccumulator = 0.0;

	float CurrentDepth = texture2D(uDepthTexture, ((vPosition.xy / vPosition.w) + 1.0) / 2.0).r;
	
	const int IterationMax = 1000;

	int i;
	for(i = 0; i < IterationMax; i ++)
	{
		// Calculate depth
		vec4 ScreenCoords = vec4(Iterator, 1.0);
		ScreenCoords -= vec4(vec3(0.5), 0.0);
		ScreenCoords = uProjMatrix * uViewMatrix * uModelMatrix * ScreenCoords;
		
		float Depth = ScreenCoords.z / ScreenCoords.w;
		Depth += 1.0;
		Depth /= 2.0;
