Rendering in computer graphics systems
Abstract
A graphics system has a rendering space divided into a plurality of rectangular areas, each being sub-divided into a plurality of smaller rectangular areas of a plurality of pixels. Data is received representing a tiled set of polygons to be rendered in a selected one of the rectangular areas. For each polygon, a determination is made whether that polygon is located at least partially inside a selected one of the smaller rectangular areas in the selected rectangular area. If so, which pixels of the plurality of pixels in the selected smaller rectangular area are inside the polygon are identified. Or, if that polygon is not located at least partially inside the selected smaller rectangular area, no further processing of the polygon is performed at one or more of the plurality of pixels in the smaller rectangular area.
Claims
exact text as granted — not AI-modifiedWe claim:
1 . A method of rendering in a graphics system having a rendering space divided into a plurality of rectangular areas and having each rectangular area sub-divided into a plurality of smaller rectangular areas each comprising a plurality of pixels, the method comprising:
receiving data representing a tiled set of polygons to be rendered in a selected one of the rectangular areas; for each polygon in the tiled set, determining whether that polygon is located at least partially inside a selected one of the smaller rectangular areas in the selected rectangular area; and if that polygon is located at least partially inside the selected smaller rectangular area, determining which of the plurality of pixels in the selected smaller rectangular area are inside the polygon, or if that polygon is not located at least partially inside the selected smaller rectangular area, performing no further processing of the polygon at one or more of the plurality of pixels in the smaller rectangular area; and wherein the step of determining whether the polygon is located at least partially inside the selected smaller rectangular area comprises: deriving a plurality of edges from the polygon data; and comparing each of the plurality of edges with a sample point associated with the selected smaller rectangular area to determine whether the selected smaller rectangular area is located wholly outside any of the edges; wherein if the selected smaller rectangular area is not located wholly outside any of the edges then the polygon is determined to be located at least partially inside the selected smaller rectangular area.
2 . A method according to claim 1 , further comprising:
receiving a plurality of image polygons to be rendered in the rendering space; and tiling the image polygons to generate the tiled set of polygons by determining at least those image polygons that are located within the selected rectangular area.
3 . A method according to claim 1 , wherein comparing each of the plurality of edges comprises:
processing each of the plurality of edges to derive a plurality of processed edges, wherein the processing comprises, for each edge, determining an orientation of the respective edge and applying a translation to the respective edge in accordance with the orientation; and comparing each of the plurality of processed edges with the sample point.
4 . A method according to claim 3 , wherein applying the translation to the respective edge in accordance with the orientation comprises: applying a translation to the respective edge in one dimension, applying a translation to the respective edge in two dimensions, or applying no translation to the respective edge.
5 . (canceled)
6 . A method according to claim 5 , further comprising using the determination of whether the evaluation exceeds a predetermined threshold to determine whether the sample point is located inside or outside the processed edge.
7 . A method according to claim 6 , wherein if the sample point is located inside the processed edge, then the smaller rectangular area, with which the sample point is associated, is located at least partially inside the edge from which the processed edge was derived, and if the sample point is located outside the processed edge, then the smaller rectangular area, with which the sample point is associated, is located wholly outside the edge from which the processed edge was derived.
8 . (canceled)
9 . A method according to claim 8 , further comprising outputting a first value if By+C>−Ax and outputting a second value if By+C<−Ax, one of the first value and the second value indicating that the sample point is located inside the processed edge and the other of the first value and the second value indicating that the sample point is located outside the processed edge.
10 . (canceled)
11 . (canceled)
12 . (canceled)
13 . A graphics system having a rendering space divided into a plurality of rectangular areas and having each rectangular area sub-divided into a plurality of smaller rectangular areas each comprising a plurality of pixels, the graphics system comprising a processing unit configured to:
receive data representing a tiled set of polygons to be rendered in a selected one of the rectangular areas; and determine, for each polygon in the tiled set, whether that polygon is located at least partially inside a selected one of the smaller rectangular areas in the selected rectangular area; and wherein the processing unit is configured to determine whether the polygon is located at least partially inside the selected smaller rectangular area by: deriving a plurality of edges from the polygon data; and comparing each of the plurality of edges with a sample point associated with the selected smaller rectangular area to determine whether the selected smaller rectangular area is located wholly outside any of the edges; wherein if the selected smaller rectangular area is not located wholly outside any of the edges then the polygon is determined to be located at least partially inside the selected smaller rectangular area; wherein, if that polygon is located at least partially inside the selected smaller rectangular area, the processing unit is arranged to determine which of the plurality of pixels in the selected smaller rectangular area are inside the polygon, and if that polygon is not located at least partially inside the selected smaller rectangular area, the processing unit is arranged to perform no further processing of the polygon at one or more of the plurality of pixels in the smaller rectangular area.
14 . A graphics system according to claim 13 , wherein the processing unit is further configured to:
receive a plurality of image polygons to be rendered in the rendering space; and tile the image polygons to generate the tiled set of polygons by determining at least those image polygons that are located within the selected rectangular area.
15 . A graphics system according to claim 13 , wherein the processing unit is configured to compare each of the plurality of edges by:
processing each of the plurality of edges to derive a plurality of processed edges, wherein the processing comprises, for each edge, determining an orientation of the respective edge and applying a translation to the respective edge in accordance with the orientation; comparing each of the plurality of processed edges with the sample point.
16 . A graphics system according to claim 15 , wherein the processing unit is configured to apply the translation to the respective edge in accordance with the orientation by:
applying a translation to the respective edge in one dimension, applying a translation to the respective edge in two dimensions, or applying no translation to the respective edge.
17 . (canceled)
18 . A graphics system according to claim 17 , wherein the processing unit is configured to use the determination of whether the evaluation exceeds a predetermined threshold to determine whether the sample point is located inside or outside the processed edge.
19 . A graphics system according to claim 18 , wherein if the sample point is located inside the processed edge, then the smaller rectangular area, with which the sample point is associated, is located at least partially inside the edge from which the processed edge was derived, and if the sample point is located outside the processed edge, then the smaller rectangular area, with which the sample point is associated, is located wholly outside the edge from which the processed edge was derived.
20 . (canceled)
21 . A graphics system according to claim 20 , wherein the processing unit is configured to output a first value if By+C>−Ax and output a second value if By+C<−Ax, one of the first value and the second value indicating that the sample point is located inside the processed edge and the other of the first value and the second value indicating that the sample point is located outside the processed edge.
22 . (canceled)
23 . (canceled)
24 . (canceled)
25 . (canceled)
26 . (canceled)
27 . (canceled)
28 . A graphics processing unit configured to render to a rendering space divided into a plurality of rectangular areas, each rectangular area being sub-divided into a plurality of smaller rectangular areas each comprising a plurality of pixels, the graphics processing unit comprising:
an interface to a memory device; a microtiling unit arranged to receive via the interface data representing a tiled set of polygons to be rendered in a selected one of the rectangular areas, determine for each smaller rectangular area in the selected rectangular area whether that smaller rectangular area contains at least a portion of a selected polygon, and output a corresponding indication; and a scan converter configured to receive the indications, and if a selected one of the smaller rectangular areas contains at least a portion of the selected polygon, determine which of the plurality of pixels in the respective smaller rectangular area are inside the selected polygon, and if a selected one of the smaller rectangular areas does not contain at least a portion of the selected polygon, perform no further processing of the selected polygon at one or more of the plurality of pixels in the respective smaller rectangular area; wherein the microtiling unit comprises edge calculation logic configured to receive the selected polygon and derive a plurality of edge equation parameters for each edge of the selected polygon and edge processing logic coupled to the edge calculation logic and configured to receive the plurality of edge equation parameters for a selected edge of the selected polygon and to determine an orientation of the selected edge and apply a translation to the edge equation parameters in accordance with the orientation to generate processed edge equation parameters, wherein the translation corresponds to a shift of the selected edge in one dimension, two dimensions, or no shift of the selected edge; and output the processed edge equation parameters.
29 . A graphics processing unit according to claim 28 , further comprising:
a tiling unit configured to receive a plurality of image polygons to be rendered in the rendering space, tile the image polygons to generate the tiled set of polygons by determining at least those image polygons that are located at least partially within the selected rectangular area, and output the tiled set of polygons to the memory device.
30 . A graphics processing unit according to claim 28 , wherein the edge processing logic comprises a quadrant determination unit arranged to determine the orientation of the selected edge of the polygon by evaluating the signs of one or more of the edge equation parameters.
31 . (canceled)
32 . A graphics processing unit according to claim 31 , wherein the comparison unit is further configured to:
perform the determination of which of the smaller rectangular areas are located wholly outside the selected edge of the polygon, and which are located at least partially inside the selected edge of the polygon for each edge of the selected polygon; and generate the indication such that any of the smaller rectangular areas that are not located wholly outside at least one edge of the selected polygon are indicated as containing at least a portion of a selected polygon.
33 . A graphics processing unit according to claim 31 , wherein the comparison unit comprises:
one or more evaluation units configured to receive the processed edge equation parameters and generate a first value from the processed edge equation parameters for each of the smaller rectangular areas in dependence on its position in the rectangular area, and a second value from the processed edge equation parameters for each of the smaller rectangular areas in dependence on its position in the rectangular area.
34 . A graphics processing unit according to claim 33 , wherein the comparison unit further comprises:
a clamping unit configured to receive the first value and generate a reduced first value by reducing the precision of the first value in dependence on the number of bits used to represent the second value.
35 . A graphics processing unit according to claim 33 , wherein the comparison unit further comprises:
a comparator array comprising a plurality of comparators each associated with at least one of the smaller rectangular areas and configured to operate in parallel, each comparator configured to compare the first value or the reduced first value with the second value for its respective smaller rectangular area to determine whether that smaller rectangular area is located wholly outside the selected edge of the polygon or located at least partially inside the selected edge of the polygon.
36 - 55 . (canceled)Join the waitlist — get patent alerts
Track US2014267300A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.