public static TFloatList generateTangents(TFloatList positions, TFloatList normals, TFloatList textures, TIntList indices) {
        final TFloatList tangents = new TFloatArrayList();
        generateTangents(positions, normals, textures, indices, tangents);
        return tangents;
    }
public static TFloatList generateTangents ( TFloatList positions , TFloatList normals , TFloatList textures , TIntList indices ) { final TFloatList tangents = new TFloatArrayList ( ) ; generateTangents ( positions , normals , textures , indices , tangents ) ; return tangents ; }
Generate the tangents for the positions, normals and texture coords, according to the indices. This assumes that the positions and normals have 3 components, in the x, y, z order, and that the
texture coords have 2, in the u, v (or s, t) order. The tangents are stored as a 4 component vector, in the x, y, z, w order. The w component represents the handedness for the bi-tangent
computation, which must be computed with B = T_w * (N x T).

@param positions The position components
@param normals The normal components
@param textures The texture coord components
@param indices The indices
@return The tangents