Patent ID: 7737974

Claim:
A method of ray tracing utilizing a spatial index having nodes defining bounded volumes of a three dimensional scene comprising: configuring one or more processors to perform an operation, comprising: generating a ray into the scene; traversing the spatial index with a first processing element by taking branches from internal nodes until a leaf node is reached, wherein branches are taken based on whether the ray intersects bounding volumes defined by the nodes; determining with a second processing element if the ray intersects a primitive contained within the bounding volume corresponding to the leaf node; in response to detecting an increase in workload associated with the first processing element, creating a boundary within the spatial index to partition the spatial index into a first portion and a second portion, wherein the first portion is on a first side of the boundary and the second portion is one a second side of the boundary, and wherein the first processing element will traverse the first portion of the spatial index until at least one of a leaf node or the boundary is reached, and the second processing element will traverse the second portion of the spatial index until a leaf node is reached, and upon reaching a leaf node, the second processing element will determine if a ray intersects a primitive contained within a bounding volume corresponding to the leaf node; and in response to detecting a further increase in workload associated with the first processing element, creating a second boundary to further partition the spatial index into at least the first portion, the second portion, and a third portion, wherein a third processing element will traverse the third portion of the spatial index until a leaf node is reached, and upon reaching the leaf node the third processing element will determine if a ray intersects a primitive contained within a bounding volume corresponding to the leaf node.