Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
First Claim
1. A method for shading a three dimensional image for display on a screen comprising the steps of:
- representing each object in the image by a group of infinite surfaces;
for each elementary area of the screen projecting a ray into the 3-dimensional image;
determining the location of the intersection of the ray with each surface;
determining whether any intersected surface is visible at that elementary area; and
shading the elementary area for display in dependence on the result of the determination.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
31 Claims
-
1. A method for shading a three dimensional image for display on a screen comprising the steps of:
-
representing each object in the image by a group of infinite surfaces; for each elementary area of the screen projecting a ray into the 3-dimensional image; determining the location of the intersection of the ray with each surface; determining whether any intersected surface is visible at that elementary area; and shading the elementary area for display in dependence on the result of the determination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 21)
-
-
9. Apparatus for shading a three dimensional image for display on a screen comprising:
-
means for supplying data defining group of infinite surfaces representing each object in the image; means for generating a depth value for each surface for each elementary area of the screen in dependence on the distance of that surface from an image plane; means for determining whether any surface is visible at that elementary area; and means for shading that elementary area in dependence on the result of the determination. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for shading a three dimensional image for display comprising the steps of:
-
supplying data defining a group of infinite surfaces representing each object in the image; for each elementary area of the display generating a depth value for each surface in dependence on the distance of that surface from an image plane; determining whether any surface is visible at that elementary area, and shading that elementary area in dependence on the result of the determination. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A method for shading a three dimensional image for display on a screen comprising the steps of:
-
representing each object in the image as a group of infinite surfaces; for each elementary area of the display projecting a ray into the 3-dimensional image; determining the location of the intersection of the ray with each surface; determining whether any intersected surface is visible at that elementary area; and including the steps of; designating an object as a light volume; determining the intersection of each ray with the light volume; and shading an elementary area in dependence on the surface visible at that elementary area and its location in relation to the light volume.
-
-
20. A method for shading a three dimensional image for display on a screen comprising the steps of:
-
representing each object in the image as a group of infinite surfaces; determining a bounding volume for each object projected onto the display screen; subdividing the display into a plurality of sub-regions, the size of the sub-regions being dependent on the complexity of the image in each area of the screen; for each pixel of each sub-region projecting a ray into the image; determining the location of the intersection of the ray with each surface of each object contained within that sub-region; determining whether any intersected surface is visible at that pixel; and shading the pixel in dependence on the result of the determination.
-
-
22. A method for shading a three dimensional image for display on a screen comprising the steps of:
-
representing each object in the image as a group of infinite surfaces; subdividing the screen into a plurality of sub-regions,; for each pixel of each sub-region projecting a ray into the image; determining the location of the intersection of the ray with each surface of each object contained within that sub-region; determining whether any intersected surface is visible at that pixel; and shading the pixel for display in dependence on the result of the determination, wherein the determination of ray/surface intersections for groups of pixels in one sub-region is interleaved with the determination of ray/surface intersections for groups of pixels in other sub-regions. - View Dependent Claims (23, 24)
-
-
25. An apparatus for shading a three dimensional image for display on a screen comprising;
a plurality of groups of processing elements for determining depth values for surfaces in the image for each elementary area of the screen in dependence on the distances of the surface from an image plane and for determining whether any surface is visible at that elementary area, wherein each group of processing elements has an associated cache memory means for storing data defining the various surfaces in the image, and the groups of processing elements are coupled together by a bus means, and wherein data is read from the associated cache memory means of a first group of processing elements and transmitted via the bus means to the other group of processing elements for determination of depth values until all data from the associated cache memory means of the first group of processing elements has been read and wherein reading of data then takes place from the associated cache memory means of a second group of processing elements.
-
26. A method for shading a three dimensional image for display on a screen comprising the steps of:
-
supplying data defining a group of infinite surfaces representing each object; for each elementary area of the display generating a depth value for each surface in dependence on the distance of that surface from on image plane; determining whether any surface is visible at that elementary area; and including the steps of designating an object as a light volume, determining whether any visible surface falls within the light volume; and
,shading the elementary area in dependence on the surface visible at the elementary area and its location in relation to the light volume.
-
-
27. A method for shading a three dimensional image for display on a screen comprising the steps of:
-
supplying data defining a group of infinite surfaces representing each object in the image; determining a bounding volume for each object projected onto the display screen; subdividing the display into a plurality of sub-regions, the size of the sub-regions being dependent on the complexity of the image in each area of the screen; and for each pixel of each sub-region, generating a depth value for each surface within that sub-region in dependence on the distance of that surface from the image plane; determining whether any surface is visible at that pixel and shading the pixel in dependence on the result of the determination. - View Dependent Claims (28)
-
-
29. A method for shading a three dimensional image for display on a screen comprising the steps of:
-
representing each object in the image as a group of surfaces; subdividing the screen into a plurality of sub-regions; for each pixel of each sub-region generating a depth value for each surface of each object contained within that sub-region; determining whether any surface is visible at that pixel; and shading the pixel for display in dependence on the result of the determination, wherein the determination of depth values for groups of pixels in one sub-region is interleaved with the determination of depth values for groups of pixels in other sub-regions. - View Dependent Claims (30, 31)
-
Specification