 
     if (activeObjectCount > 0)  // in frag
     {
-      uint ao = activeObjects;
+      uint remainingActiveObjects = activeObjects;
 
       // calculate length in texture space (needed for step width calculation)
       float segmentTextureLength = 0.0;
       for (int oi = 0; oi < activeObjectCount; oi++)
       {
-        int objectID = findLSB(ao);
-        ao &= (~(1 << objectID));
+        int currentObjectId = findLSB(remainingActiveObjects);
+        remainingActiveObjects &= (~(1 << currentObjectId));
 
         vec4 textureStartPos = volumes[0].textureMatrix * inverseViewMatrix *
                                currentFragment.eyePos;


      if (activeObjectCount > 0)
      {
        int sample_steps = int(segmentTextureLength * STEP_FACTOR);
        sample_steps = clamp(sample_steps, 1, MAX_SAMPLES - 1);
        float stepFactor = 1.0 / float(sample_steps);

        // noise offset
        startPos_eye = segmentStartPos_eye;  // + noise offset;

        lastPos_eye = startPos_eye - direction_eye * stepFactor;

        // sample ray segment
        for (int step = 0; step < sampleSteps; step++)
        {
          vec4 sampleColor = vec4(0.0f, 0.0f, 0.0f, 0.0f);

          uint remainingActiveObjects = activeObjects;

          // sampling per non-isosurface object
          for (int objectIndex = 0; objectIndex < activeObjectCount;
               objectIndex++)
          {
            int currentObjectId = findLSB(remainingActiveObjects);
            if (currentObjectId < 0)
              break;
            remainingActiveObjects &= (~(1 << (currentObjectId)));

            float squareGradientLength = 0.0f;
            vec4 TFColor;
