 
 const int NUM_LAYERS = 3;
 const int OUTER = 0;
-const int OUTER_OFFSET = 0;
+const int OUTER_OFFSET = OUTER * 2;
 const int FADE = 1;
 const int FADE_OFFSET = FADE * 2;
 const int INNER = 2;

// contribution = dist * avgColorRatio
float linearFadeContribution(vec3 fadeIntr1, vec3 fadeIntr2,
                             float rInner, float rFadeEnd)
{
    vec3 middle = (fadeIntr1 + fadeIntr2) / 2;
    //float avgRate = 1 - (length(middle.xy) - rInner) / (rFadeEnd - rInner);
    float avgRate = 1 - (length(middle.xy) - rInner) / (rFadeEnd - rInner);

                        fadePivot += (intrPos1 / 2);
                    }
                    // check against the bounding planes
                    if (dot(localPrevJointAxis, intrPos1 - prevJointPos) <= 0
                     && dot(localNextJointAxis, intrPos1 - nextJointPos) <= 0) {
                        intersections[intrOffset + intersectionCount] = intrPos1;
                        intersectionCount++;
                        debugColor[i].r += 0.5;
