Asynchronous and concurrent ray tracing and rasterization rendering processes
AssigneeImagination Technologies Limited
InventorLuke T. Peterson
Life of this patent
Estimating the term…
Abstract
Rendering systems that can use combinations of rasterization rendering processes and ray tracing rendering processes are disclosed. In some implementations, these systems perform a rasterization pass to identify visible surfaces of pixels in an image. Some implementations may begin shading processes for visible surfaces, before the geometry is entirely processed, in which rays are emitted. Rays can be culled at various points during processing, based on determining whether the surface from which the ray was emitted is still visible. Rendering systems may implement rendering effects as disclosed.
Claims20
A machine-implemented method for rendering geometry of a 3-D scene using a rendering space which is sub-divided into a plurality of tiles, the method comprising:
- maintaining a respective depth range for each tile of the plurality of tiles;
- determining a plurality of elements of geometry of the 3-D scene;
- performing ray tracing operations for the plurality of elements of geometry, said ray tracing operations comprising producing a plurality of rays, the plurality of rays associated with at least two different samples, each of the plurality of rays being associated with a depth of a respective element of geometry of the plurality of elements of geometry for a respective sample, of the at least two different samples, with which that ray is associated;
- identifying a group of rays of the plurality of rays that contribute to one or more samples, of the at least two different samples, within a tile of the plurality of tiles;
- and
- comparing the associated depth of each ray of the group of rays with the maintained depth range of the tile and, in response to determining that the associated depth of a ray of the group of rays is outside of the maintained depth range for the tile, discarding results of the ray tracing operations for that ray.
An apparatus configured to render geometry of a 3-D scene using a rendering space which is sub-divided into a plurality of tiles, the apparatus being configured to:
- maintain a respective depth range for each tile of the plurality of tiles;
- determine a plurality of elements of geometry of the 3-D scene;
- perform ray tracing operations for the plurality of elements of geometry, said ray tracing operations comprising producing a plurality of rays, the plurality of rays associated with at least two different samples, each of the plurality of rays being associated with a depth of a respective element of geometry of the plurality of elements of geometry for a respective sample, of the at least two different samples, with which that ray is associated;
- identify a group of rays of the plurality of rays that contribute to one or more samples of the at least two different samples within a tile of the plurality of tiles;
- and
- compare the associated depth of each ray of the group of rays with the maintained depth range of the tile and, in response to determining that the associated depth of a ray of the group of rays is outside of the maintained depth range for the tile, discarding results of the ray tracing operations for that ray.
A machine-implemented method for rendering geometry of a 3-D scene using a rendering space which is sub-divided into a plurality of tiles, the method comprising:
- processing geometry of the 3-D scene to:
- produce a respective depth range for each tile of the plurality of tiles;
- and
- determine a plurality of currently visible elements of geometry of the 3-D scene;
- performing ray tracing operations for the plurality of currently visible elements of geometry, said ray tracing operations comprising producing a plurality of rays, the plurality of rays associated with at least two different samples, each of the plurality of rays being associated with a depth of a respective currently visible element of geometry of the plurality of elements of geometry for a respective sample, of the at least two different samples, with which that ray is associated updating the respective depth range for at least one tile of the plurality of tiles;
- identifying a group of rays of the plurality of rays that contribute to one or more samples of the at least two different samples within a tile of the plurality of tiles;
- and
- comparing the associated depth of each ray of the group of rays with the depth range of the tile and, in response to determining that the associated depth of a ray of the group of rays is outside of the depth range for the tile, discarding results of the ray tracing operations for that ray.
Dependencies are inferred from the claim text.