Parallelized ray tracing
AssigneeInternational Business Machines Corporation
InventorsEric O. Mejdrich, Paul E. Schardt, Robert A. Shearer, Matthew R. Tubbs
Life of this patent
Estimating the term…
Abstract
A method includes assigning a priority to a ray data structure of a plurality of ray data structures based on one or more priorities. The ray data structure includes properties of a ray to be traced from an illumination source in a three-dimensional image. The method includes identifying a portion of the three-dimensional image through which the ray passes. The method also includes identifying a slave processing element associated with the portion of the three-dimensional image. The method further includes sending the ray data structure to the slave processing element.
Claims20
A method, comprising:
- assigning, by a master processing element, a priority to a ray data structure of a plurality of ray data structures based on a plurality of inputs received by the master processing element from a plurality of sources, the ray data structure comprising properties of a ray to be traced in a three-dimensional image, wherein the plurality of sources includes a software application and at least one other source;
- identifying a portion of the three-dimensional image through which the ray passes;
- identifying a slave processing element associated with the portion of the three-dimensional image, wherein the slave processing element is configured to determine whether the ray intersects a geometric primitive within the portion of the three-dimensional image;
- and
- sending the ray data structure to the slave processing element, wherein the priority assigned to the ray data structure determines a ratio of refractive rays spawned by the ray data structure to reflective rays spawned by the ray data structure.
A computer program product comprising a computer storage device having computer usable program code embodied therewith, the computer usable program code executable by a processor to:
- receive a ray data structure and a path to a leaf node representing a portion of a three-dimensional image from a slave processing element at a ray intersection tester, wherein the ray data structure comprises properties of a ray to be traced in the three-dimensional image, the properties of the ray including an associated first priority;
- determine whether the ray intersects a surface in the three-dimensional image, the surface represented by one or more geometric primitives;
- and
- when the ray intersects the surface, create a plurality of ray data structures corresponding to a plurality of rays, the plurality of rays spawned based on properties of the surface, wherein the first priority assigned to the ray data structure determines a ratio of refractive rays spawned by the ray data structure to reflective rays spawned by the ray data structure.
A system, comprising:
- a master processing element to receive one or more priorities associated with a plurality of rays, to assign a priority to a ray data structure based on the one or more priorities, the ray data structure comprising properties of a ray from the plurality of rays that is to be traced in a three-dimensional image, to identify a portion of the three-dimensional image through which the ray passes, to identify a slave processing element associated with the portion of the three-dimensional image, and to send the ray data structure to the slave processing element;
- and
- the slave processing element, wherein the slave processing element is configured to determine whether the ray intersects a geometric primitive within the portion of the three-dimensional image, wherein the priority assigned to the ray data structure determines a ratio of refractive rays spawned by the ray data structure to reflective rays spawned by the ray data structure.
Dependencies are inferred from the claim text.