     vec3 accumulatedAlpha = vec3(0.0);
 
 
-    for (steps = 0; 
+    for (nSteps = 0; 
         (accumulatedAlpha.r < ALPHA_LIMIT || accumulatedAlpha.g < ALPHA_LIMIT || 
-         accumulatedAlpha.b < ALPHA_LIMIT) && steps < RAYCAST_MAX_STEPS; 
-         ++steps) 
+         accumulatedAlpha.b < ALPHA_LIMIT) && nSteps < RAYCAST_MAX_STEPS; 
+         ++nSteps) 
     {
-        // if (currentDepth + nextStepSize * jitterFactor > raycastDepth) {
-        //     aaOpacity -= opacityDecay;
-        // }
-        bool shortStepSize = nextStepSize < raycastDepth / 10000000000.0;
-
-        if (shortStepSize) {
+        if (nextStepSize < raycastDepth / 10000000000.0) {
             break;
         }
 


    vec4 exitColorTexture = texture(exitColorTexture, texCoord);

    // if we don't have an exit, discard the ray
    if (exitColorTexture.a < 1.0 || exitColorTexture.rgb == vec3(0.0)) {
        discard;
    }

    // fetch exit point from texture
    vec3 exitPos = exitColorTexture.rgb;
    float exitDepth =  denormalizeFloat(texture(exitDepthTexture, texCoord).x);


        position += direction * currentStepSize;

        sample#{id}(jitteredPosition, direction, accumulatedColor, accumulatedAlpha, nextStepSize);
        float sampleDistance = jitteredStepSize + previousJitterDistance;

        previousJitterDistance = currentStepSize - jitteredStepSize;

        float maxStepSize = raycastDepth - currentDepth;
        nextStepSize = min(nextStepSize, maxStepSize);
    }

    finalColor = vec4(accumulatedColor, (accumulatedAlpha.r + accumulatedAlpha.g + accumulatedAlpha.b) / 3);
