  We establish an efficient polynomial-complexity algorithm for one-loop
calculations, based on generalized $D$-dimensional unitarity. It allows
automated computations of both cut-constructible {\it and} rational parts of
one-loop scattering amplitudes from on-shell tree amplitudes. We illustrate the
method by (re)-computing all four-, five- and six-gluon scattering amplitudes
in QCD at one-loop.
