IP Library Granted Patent US 9,218,689
Granted Patent B1
US 9,218,689 · App. 10/952,358 · Granted Dec 22, 2015

Multi-sample antialiasing optimization via edge tracking

Inventor: David R. Baldwin (Weybridge, GB)
Assignee: ZILABS INC., LTD.
G06T15/503G06T3/403
View Patent ↗
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 9,218,689
App. No.
10/952,358
Granted
Dec 22, 2015
Kind
B1
Abstract

An efficient method and system for multi-sample antialiasing in graphics processing is described. Geometric edges as well as implicit edges of primitives in a bin are identified by iteratively rendering bins of pixels. Selective multi-sample antialiasing is applied to pixels that are touched by either a geometric edge or an implicit edge; pixels that are fully covered are not antialiased.

Claims (55)

1. A deferred rendering method for rendering 3D graphics, comprising the steps of:

a) rendering an image space by using iterations over successive bins which correspond to screen regions, each said bin including a plurality of pixels;

a1) in a first rendering pass for a given fragment over a respective one of said bins, testing whether said fragment requires antialiasing within said respective one of said bins by reason of non-occluded geometric or implicit edges, wherein testing includes both attempting to identify geometric edges and attempting to identify implicit edges; and

a2) in a second rendering pass for said given fragment tested in said first rendering pass, rendering said given fragment within said respective one of said bins; said rendering being done differently, either with or without multi-sample antialiasing, in dependence on the outcome of said first rendering pass;

wherein said method renders said fragment, in cases where said fragment lacks any geometric or implicit edges, without antialiasing.

2. The method of claim 1 , wherein said method renders fragments which have either geometric or implicit edges using multi-sample antialiasing.

3. The method of claim 1 , wherein at the start of a bin, the depth buffer and color buffers are cleared and any edge tracking reset.

4. A computer system which implements the method of claim 1 .

5. A graphics accelerator module which implements the method of claim 1 .

6. A deferred rendering method for rendering 3D graphics, comprising the steps of:

a) rendering an image space by using iterations over successive bins which correspond to screen regions, each said bin including a plurality of pixels;

a1) in a first rendering pass for each fragment to be rendered, testing whether said fragment requires antialiasing within said respective one of said bins by reason of non-occluded geometric or implicit edges, wherein testing includes both attempting to identify geometric edges and attempting to identify implicit edges; and

a2) in a second rendering pass for a given fragment tested in said first rendering pass, rendering said fragment within said respective one of said bins; said rendering being done differently, either with or without multi-sample antialiasing, in dependence on the outcome of said first rendering pass;

wherein said method renders said fragment, in cases where said fragment lacks any geometric or implicit edges, without antialiasing.

7. The method of claim 6 , wherein said method renders fragments which have either geometric or implicit edges using multi-sample antialiasing.

8. The method of claim 6 , wherein at the start of a bin, the depth buffer and color buffers are cleared and any edge tracking reset.

9. A computer system which implements the method of claim 6 .

10. A graphics accelerator module which implements the method of claim 6 .

11. A deferred rendering method for rendering 3D graphics, comprising the steps of:

a) rendering an image space by using iterations over successive bins which correspond to screen regions, each said bin including a plurality of pixels;

a1) in a first rendering pass for each bin, testing each fragment in said respective bin to determine whether said fragment requires antialiasing within said respective bin by reason of non-occluded geometric or implicit edges, wherein testing includes both attempting to identify geometric edges and attempting to identify implicit edges; and

a2) in a second rendering pass for a given fragment tested in said first rendering pass, rendering said fragment within said bin;

said rendering being done differently, either with or without multi-sample antialiasing, in dependence on the outcome of said first rendering pass;

wherein said method renders said fragment, in cases where said fragment lacks any geometric or implicit edges, without antialiasing.

12. The method of claim 11 , wherein said method renders fragments which have either geometric or implicit edges using multi-sample antialiasing.

13. The method of claim 11 , wherein at the start of a bin, the depth buffer and color buffers are cleared and any edge tracking reset.

14. A computer system which implements the method of claim 11 .

15. A graphics accelerator module which implements the method of claim 11 .

16. A deferred rendering method for rendering 3D graphics, comprising the steps of:

in a first rendering pass, for each display space of a plurality of pixels,

a) identifying all geometric edges that touch a respective fragment;

b) identifying all implicit edges that touch said fragment; and

in a second rendering pass, selectively rendering only those fragments which are touched by one or more edges with multi-sample antialiasing.

17. The method of claim 16 , wherein said geometric edges are identified from the coverage mask produced during rasterization.

18. The method of claim 16 , wherein said implicit edges are identified by comparing the minimum and maximum depth values of the pixels to which the fragment is added against the depth values of said fragment.

19. The method of claim 16 , wherein said method tracks edges to a 4×4 pixel level.

20. A computer system which implements the method of claim 16 .

21. A graphics accelerator module which implements the method of claim 16 .

22. A computer system for deferred 3D graphics rendering comprising:

a host processor; and

one or more devices for, in a first rendering pass, collecting information, for each display space, concerning the presence or absence of edges that affect a target pixel by

identifying geometric edges that touch a respective plurality of pixels from a coverage mask produced during rasterization;

identifying implicit edges that touch said target pixel by comparing minimum and maximum depth values of said target pixel to which a fragment is added against depth values of said fragment; and

in a second rendering pass, rendering fragments using said information to dynamically turn on and off multi-sample antialiasing on a per fragment basis;

wherein only those of said fragments which touch one or more of pixels touched by a geometric or implicit edge are antialiased.

23. The system of claim 22 , wherein said information guides the down filtering of the colors such that only those pixels that have been multi-sampled need to be down-filtered.

24. The system of claim 22 , wherein said system tracks edges to a 4×4 pixel level.

25. A deferred rendering 3D graphics rendering module, comprising:

rendering hardware which renders an image space by using iterations over successive display spaces which correspond to screen regions, each said display space including a plurality of pixels, and in a first rendering pass for a given one of multiple fragments over a respective one of said display spaces, tests whether non-occluded geometric or implicit edges are present in said fragment, wherein testing includes both attempting to identify geometric edges and attempting to identify implicit edges;

a database comprising, for said display spaces, information concerning the presence or absence of geometric or implicit edges in said fragments; and

rendering hardware which, in a second rendering pass, for said display spaces, renders a fragment differently, either with or without multi-sample antialiasing, depending on said information.

26. The module of claim 25 , wherein said module renders fragments without geometric or implicit edges without multi-sample antialiasing.

27. The module of claim 25 , wherein said module renders fragments with either geometric or implicit edges with multi-sample antialiasing.

28. The module of claim 25 , wherein said module tracks edges to a 4×4 pixel level.

29. The module of claim 25 , wherein said information guides the down filtering of the colors such that only those pixels that have been multi-sampled need to be down-filtered.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2019
From: ZIILABS INC., LTD
To: RPX CORPORATION
Reel/Frame 048947/0592 →
CHANGE OF NAME Recorded Nov 14, 2014
From: 3DLABS INC., LTD.
To: ZIILABS INC., LTD.
Reel/Frame 034246/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2005
From: BALDWIN, DAVID R.
To: 3DLABS INC. LTD.
Reel/Frame 016652/0796 →
Continuity (1)
Provisional Application 60533491 · Dec 31, 2003