IP Library Patent Application 14205907
Patent Application
App. No. 14/205,907

RENDERING IN COMPUTER GRAPHICS SYSTEMS

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/205,907
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 (71)

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)

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2014
From: BARBER, PIERS; FENNEY, SIMON
To: IMAGINATION TECHNOLOGIES, LIMITED
Reel/Frame 032766/0656 →