Conventional freehand three-dimensional (3-D) ultrasound is a multi-stage process. First, the clinician scans the area of interest. Next, the ultrasound data is used to construct a 3-D voxel array, which can then be visualized by, for example, any-plane slicing. The strict separation of data acquisition and visualization disturbs the interactive nature of the ultrasound examination. Furthermore, some systems require the clinician to wait for an unacceptable amount of time while the voxel array is constructed. In this paper, we describe a novel freehand 3-D ultrasound system which allows accurate acquisition of the raw data and immediate visualization of arbitrary slices through the data. Minimal processing separates the acquisition and visualization processes: in particular, at no stage is a voxel array constructed. Instead, the standard graphics hardware found inside most desktop computers is exploited to synthesize arbitrary slices directly from the raw B-scans.