1. A method of adaptive direct volume rendering, comprising fragmenting a sampled 3-D dataset of a scalar field into a plurality of sub-volumes of different sizes, each sub-volume associated with a set of data value parameters characterizing the data value distribution of the scalar field within the sub-volume; defining an opacity transfer function that is dependent upon data values of the scalar field and an illumination model; selectively casting a plurality of rays from a 2-D image plane towards the sampled dataset, each ray having an initial ray energy and a cross-section; for each ray cast from a selected location on the 2-D image plane, electing a subset of the plurality of sub-volumes for interacting with the ray; estimating the ray energy reflected by each sub-volume of the subset using the opacity transfer function and the illumination model; and summing the reflected ray energy as a pixel value at the selected location on the 2-D image plane; and estimating pixel values at other locations on the 2-D image plane using the pixel values at the selected locations, wherein the step of selectively casting comprises; subdividing the 2-D image plane into a plurality of sub-planes; for each of the plurality of sub-planes, casting four rays from the four corners of the sub-plane and estimating a pixel value at each corner; calculating a maximum pixel value variation within the sub-plane; and recursively subdividing the sub-plane into multiple child sub-planes of smaller sizes by casting a ray from the center of the sub-plane until the maximum pixel value variation of the sub-Plane is below a predefined imaging error threshold.