Hidden culling in tile-based computer generated images
First Claim
1. A method for culling non-visible objects in a tiling unit of a tile-based rendering system configured to use a rendering space which is subdivided into a plurality of tiles, wherein each of the tiles comprises one or more regions for which depth comparisons are to be performed, each of the tiles comprising a plurality of pixels, the method comprising, for each of the tiles of the rendering space:
- compiling a display list for the tile, the display list comprising object data for potentially visible objects in the tile, the compiling of the display list for the tile comprising, for each region of the tile and before rendering of the tile begins;
deriving depth values for an object in the region;
reading a depth threshold for the region from a memory;
performing comparisons between the depth values for the object and the depth threshold for the region;
determining whether the object entirely covers the region; and
when it is determined that the object entirely covers the region and in dependence on the results of at least one of the comparisons, updating the depth threshold for the region;
in dependence on the result of at least one of the comparisons for each of the one or more regions of the tile, determining whether to cull the object for the tile, such that the object is not indicated in the display list for the tile; and
subsequently beginning rendering the tile using the display list for the tile.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system is provided for culling hidden objects in a tile-based graphics system before they are indicated in a display list for a tile. A rendering space is divided into a plurality of regions which may for example be a plurality of tiles or a plurality of areas into which one or more tiles are divided. Depth thresholds for the regions, which are used to identify hidden objects for culling, are updated when an object entirely covers a region and in dependence on a comparison between a depth value for the object and the depth threshold for the region. For example, if the depth threshold is a maximum depth threshold, the depth threshold may be updated if an object entirely covers the tile and the maximum depth value of the object is less than the maximum depth threshold.
-
Citations
37 Claims
-
1. A method for culling non-visible objects in a tiling unit of a tile-based rendering system configured to use a rendering space which is subdivided into a plurality of tiles, wherein each of the tiles comprises one or more regions for which depth comparisons are to be performed, each of the tiles comprising a plurality of pixels, the method comprising, for each of the tiles of the rendering space:
-
compiling a display list for the tile, the display list comprising object data for potentially visible objects in the tile, the compiling of the display list for the tile comprising, for each region of the tile and before rendering of the tile begins; deriving depth values for an object in the region; reading a depth threshold for the region from a memory; performing comparisons between the depth values for the object and the depth threshold for the region; determining whether the object entirely covers the region; and when it is determined that the object entirely covers the region and in dependence on the results of at least one of the comparisons, updating the depth threshold for the region; in dependence on the result of at least one of the comparisons for each of the one or more regions of the tile, determining whether to cull the object for the tile, such that the object is not indicated in the display list for the tile; and subsequently beginning rendering the tile using the display list for the tile. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for culling non-visible objects in a tile-based rendering system having a rendering space sub-divided into a plurality of tiles, wherein each of the tiles comprises one or more regions for which depth comparisons are to be performed, each of the tiles comprising a plurality of pixels, the system comprising a processor configured to compile a display list for each of the tiles of the rendering space, the display list for a tile comprising object data for potentially visible objects in the tile;
-
wherein the processor is configured to compile the display list for a tile by actions comprising, for each region of the tile and before rendering of the tile begins; deriving depth values for an object in the region; reading a depth threshold for the region from a memory; performing comparisons between the depth values for the object and the depth threshold for the region; determining whether the object entirely covers the region; and when it is determined that the object entirely covers the region and in dependence on the result of at least one of the comparisons, updating the depth threshold for the region; wherein the processor is further configured to, in dependence on the result of at least one of the comparisons for each of the one or more regions of the tile, determine whether to cull the object for the tile, such that the object is not indicated in the display list for the tile; and subsequently begin rendering the tile using the display list for the tile. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A circuit for culling non-visible objects in a graphics system having a rendering space subdivided into a plurality of tiles, wherein each of the tiles comprises one or more regions for which depth comparisons are to be performed, each of the tiles comprising a plurality of pixels, wherein the circuit is configured to compile, for each of the tiles and before rendering of the tile begins, a display list comprising object data for potentially visible objects in the tile based, at least in part, on actions of different logics comprising:
-
depth calculation logic configured to derive depth values for an object; comparator logic configured to read a depth threshold for a region of the tile from a memory and perform comparisons between the depth values for the object and the depth threshold for the region; depth update logic configured to determine whether the object entirely covers the region, and, if so and in dependence on the result of at least one of the comparisons, update the depth threshold for the region; object culling logic configured to, based on the result of at least one of the comparisons for each of the one or more regions of the tile, determine whether to cull the object from the tile, such that the object is not indicated in the display list for the tile; and rendering logic configured to subsequently begin rendering the tile using the display list for the tile.
-
Specification