Pixel color accumulation in a ray tracing image processing system
First Claim
1. A method of determining a color of a pixel in a ray tracing image processing system, comprising:
- issuing a primary ray into a three dimensional scene through the pixel;
determining an initial color value for the pixel based on a color value of a first primitive intersected by the primary ray;
issuing a secondary ray into the scene from the primitive intersected by the primary ray;
by operation of one or more computer processors, updating the color value for the pixel based on a color value of a second primitive intersected by the secondary ray and a reflective or refractive scaling factor having a predetermined association with the first primitive intersected by the primary ray, and not based on a reflective or refractive scaling factor of the second primitive;
issuing a further secondary ray into the scene from the primitive intersected by the secondary ray; and
updating the color value for the pixel based on a color value of a third primitive intersected by the further secondary ray and a second reflective or refractive scaling factor based on the first primitive and the second primitive, and not based on a reflective or refractive scaling factor of the third primitive.
4 Assignments
0 Petitions
Accused Products
Abstract
By merging or adding the color contributions from objects intersected by secondary rays, the image processing system may accumulate color contributions to pixels from objects intersected by secondary rays as the further color contributions are determined. Furthermore, by associating a scaling factor of color contribution with objects and with secondary rays which intersect the objects, color contributions due to secondary ray/object intersections may be calculated at a later time than the color contribution to a pixel from original ray/object intersection. Consequently, it is not necessary for a vector throughput engine or a workload manager to wait for all secondary ray/object intersections to be determined before updating the color of a pixel.
-
Citations
11 Claims
-
1. A method of determining a color of a pixel in a ray tracing image processing system, comprising:
-
issuing a primary ray into a three dimensional scene through the pixel; determining an initial color value for the pixel based on a color value of a first primitive intersected by the primary ray; issuing a secondary ray into the scene from the primitive intersected by the primary ray; by operation of one or more computer processors, updating the color value for the pixel based on a color value of a second primitive intersected by the secondary ray and a reflective or refractive scaling factor having a predetermined association with the first primitive intersected by the primary ray, and not based on a reflective or refractive scaling factor of the second primitive; issuing a further secondary ray into the scene from the primitive intersected by the secondary ray; and updating the color value for the pixel based on a color value of a third primitive intersected by the further secondary ray and a second reflective or refractive scaling factor based on the first primitive and the second primitive, and not based on a reflective or refractive scaling factor of the third primitive. - View Dependent Claims (2, 3)
-
-
4. An image processing system comprising:
-
a memory cache; a first processing element configured to issue an original ray into a three dimensional scene through a pixel, traverse a spatial index with the original ray until a first leaf node is reached; and a second processing element configured to receive, from the first processing element, information defining the original ray and the first leaf node, determine a first color contribution to the pixel based on a color of a first primitive intersected by the original ray, determine a first reflective or refractive scaling factor of color contribution based on the first primitive, issue a secondary ray based on the intersection of the original ray and the first primitive, and associate the first reflective or refractive scaling factor of color contribution with the secondary ray; wherein the first processing element is further configured to traverse the spatial index with the secondary ray until a second leaf node is reached; wherein the second processing element is further configured to; receive, from the first processing element, information defining the secondary ray and the second leaf node; determine a second color contribution to the pixel based on a color of a second primitive intersected by the secondary ray and the first reflective or refractive scaling factor, and not based on a second reflective or refractive scaling factor of the second primitive; determine a third reflective or refractive scaling factor of color contribution based on the first reflective or refractive scaling factor and the second reflective or refractive scaling factor, and not based on a reflective or refractive scaling factor of the third primitive; issue a further secondary ray based on the intersection of the secondary ray and the second primitive; and associate the third reflective or refractive scaling factor of color contribution with the further secondary ray. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A non-transitory computer-readable medium containing a program which, when executed, performs operations comprising:
-
issuing a primary ray into a three dimensional scene through a pixel; determining an initial color value for the pixel based on a color value of a first primitive intersected by the primary ray; issuing a secondary ray into the scene from the primitive intersected by the primary ray; updating the color value for the pixel based on a color value of a second primitive intersected by the secondary ray and a reflective or refractive scaling factor having a predetermined association with the first primitive intersected by the primary ray, and not based on a reflective or refractive scaling factor of the second primitive; issuing a further secondary ray into the scene from the primitive intersected by the secondary ray; and updating the color value for the pixel based on a color value of a third primitive intersected by the further secondary ray and a second reflective or refractive scaling factor based on the first primitive and the second primitive, and not based on a reflective or refractive scaling factor of the third primitive. - View Dependent Claims (10, 11)
-
Specification