A method to calculate the dynamic three-dimensional response of a layered half-space to an arbitrary buried source is presented. The frequency-domain formulation is based on representing the complete response in terms of semi-infinite integrals with respect to wavenumber after expansion in a Fourier series with respect to azimuth. The integrands for each wavenumber and frequency are determined by an efficient factorization in terms of generalized transmission and reflection coefficients which are calculated by an iterative scheme. Time-domain results may be obtained by Fourier synthesis over frequency. The procedure is valid for all frequencies in the range of interest, is applicable to solid and fluid layers, and incorporates material attenuation.