    if (specialData == 0)
    {
        float alpha = gl_FragData[0].a;
        float depth = 0.0;
        if (alpha > 0.0)
        {
            depth = sqrt(eyePos.x * eyePos.x + eyePos.y * eyePos.y + eyePos.z * eyePos.z);
            if (depth >= 80.0) discard;
            else
            {
                float depth2 = clamp(1.0 - (depth * .25), 0.0, 1.0);
                depth = mod(depth - activeTicks * 2.0, 80.0) - 80.0;
                depth = 1.0 + (depth * .025);
                if (depth < 0.0 || depth > 1.0) depth = 0.0;
                depth = max(depth2, pow(depth, 3.0));
            }
        }
        else discard;
        gl_FragData[0] = vec4(depth * .5, depth * .5, depth * .5, alpha);
    }
    vec4 xp = unpackUnorm4x8(floatBitsToUint(eyePos.x));
    vec4 yp = unpackUnorm4x8(floatBitsToUint(eyePos.y));
    vec4 zp = unpackUnorm4x8(floatBitsToUint(eyePos.z));
    gl_FragData[1] = vec4(xp.r, yp.r, zp.r, 1.0);
    gl_FragData[2] = vec4(xp.g, yp.g, zp.g, 1.0);
    gl_FragData[3] = vec4(xp.b, yp.b, zp.b, 1.0);
    gl_FragData[4] = vec4(xp.a, yp.a, zp.a, 1.0);