A volume rendering process is disclosed for improving the visual quality of images
produced by rendering and displaying volumetric data in voxel format for the display
of three-dimensional (3D) data on a two-dimensional (2D) display with shading and
opacity to control the realistic display of images rendered from the voxels. The
process includes partitioning the plurality of voxels among a plurality of slices
with each slice corresponding to a respective region of the volume. Each voxel
includes an opacity value adjusted by applying an opacity curve to the value. The
opacity value of each voxel in each cell in the volume is converted into a new
visual opacity value that is used to calculate a new visual opacity gradient for
only one voxel in the center of each cell. The visual opacity gradient is used
to calculate the shading, used to modify the color of individual voxels based on
the orientation of opacity isosurfaces passing through each voxel in the volume,
in order to create a high quality, realistic image.