     if (fragmentColor.w > 0.999)
       break;
 
-    // prepare next segment
     startPos_eye += step_eye;
   }  // sampling steps
 

  int sampleSteps = int(segmentTextureLength * STEP_FACTOR);
  sampleSteps = clamp(sampleSteps, 1, MAX_SAMPLES - 1);

  // set up segment direction vector
  vec4 step_eye = (endPos_eye - segmentStartPos_eye) / float(sampleSteps);
  vec4 startPos_eye = segmentStartPos_eye;  // + noise offset;


    sampleColor += currentColor;
  }  // per active object loop

  return clampColor(sampleColor);
}

