A method and apparatus for shading three-dimensional images for display on a screen by displaying each object as a group of infinite surfaces, projecting rays into the image, determining the location of the intersection of each ray with each surface and determining whether any intersected surface is visible at an elementary, pixel, level. Shading that occurs as a in-image light projection is analyzed by designating the generated light as a light volume determining the intersection of the ray with the light volume, and shading the pixel point as a function of the relationship between the visible surface and the light volume. The rate of shading is enhanced by dividing the screen into a number of sub- regions and determining the location of the intersection of each object contained with the sub-region through the rays projected into the sub region. The size of the sub-regions is set by determining a bounding volume for each object on the display screen and subdividing the display based on the bounding volumes. The apparatus that performs this shading has a plurality of groups of processing elements; each group of processing elements has its own cache for storing and defining surfaces of the image. The apparatus determines depth values for the surfaces of the image based on data contained in the cache for first group of processors and then determines depth values based on the data contained in the cache for the second group of processors.
展开▼