Apparatus and method for real-time volume processing and universal three-dimensional rendering
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for real-time volume processing and universal three-dimensional rendering. The apparatus includes a plurality of three-dimensional (3D) memory units; at least one pixel bus for providing global horizontal communication; a plurality of rendering pipelines; at least one geometry bus; and a control unit. The apparatus includes a block processor having a circular ray integration pipeline for processing voxel data and ray data. Rays are generally processed in image order thus permitting great flexibility (e.g., perspective projection, global illumination). The block processor includes a splatting unit and a scattering unit. A method for casting shadows and performing global illumination in relation to light sources includes sweeping a two dimensional array of rays through the volume can also be implemented with the apparatus. A method for approximating a perspective projection includes using parallel projection.
-
Citations
4 Claims
-
1. 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. - View Dependent Claims (2)
-
-
3. A method for performing global illumination 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; (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; and (i) repeating steps (c) through (h) continuously during global illumination. - View Dependent Claims (4)
-
Specification