Patent ID: 7471291

Claim:
A method for casting shadows of a volume dataset in relation to point light sources located both inside and outside, distant light sources located outside the volume dataset, and area light sources inside the volume dataset, the volume dataset comprising a plurality of discrete voxels stored in a distributed fashion in a plurality of three-dimensional (3D)) memory units, each of the voxels having a location lying on a gridpoint in the volume dataset and having voxel data associated therewith, the method comprising the steps of: (a) computing sum of the optical path length to all the point light sources for all of the voxels in the volume data set; (b) storing the sums of the optical path length values in both a radiosity array and an unshot radiosity array; (c) selecting a projection direction and a face of the volume dataset which is most perpendicular to the projection direction; (d) dividing the volume dataset along the projection direction into a plurality of slices which are parallel to the face, the plurality of slices having a first slice, the first slice having at least one voxel associated with the face; (e) initializing a two dimensional (2D) array of rays on the selected face with any distant light source energy, each of the rays having a path parallel to the projection direction and ray data associated therewith; (f) assigning the first slice as a current slice; (g) integrating and distributing light energy to voxels along each path of each ray within the current slice; and (h) repeating step (g) by sequentially sweeping along the projection direction through each subsequent slice until each of the plurality of slices is processed, each subsequent slice in turn becoming the current slice.