Path rendering by covering the path based on a generated stencil buffer
First Claim
Patent Images
1. A method of rendering a path, the method comprising:
- receiving a specification of the path;
executing, by a graphics processing unit, a first instruction to generate, via one or more point containment operations, values to be stored in a stencil buffer that indicate whether samples of the path are to be covered by rasterizing path geometry; and
executing, by the graphics processing unit, a second instruction to rasterize covering geometry that conservatively covers the path, without tessellating the path, to determine surviving pixels that are covered by the path and shade the surviving pixels to produce a rendered image of the path, wherein the surviving pixels pass a stencil test that applies the stencil buffer to the rasterized covering geometry.
1 Assignment
0 Petitions
Accused Products
Abstract
One embodiment of the present invention sets forth a technique for rendering paths by first generating a stencil buffer indicating pixels of the path that should be covered and then covering the path. The paths may be filled or stroked without tessellating the paths. Path rendering may be accelerated when a graphics processing unit or other processor that is configured to perform operations to generate the stencil buffer and cover the path to fill or stroke the path.
59 Citations
21 Claims
-
1. A method of rendering a path, the method comprising:
-
receiving a specification of the path; executing, by a graphics processing unit, a first instruction to generate, via one or more point containment operations, values to be stored in a stencil buffer that indicate whether samples of the path are to be covered by rasterizing path geometry; and executing, by the graphics processing unit, a second instruction to rasterize covering geometry that conservatively covers the path, without tessellating the path, to determine surviving pixels that are covered by the path and shade the surviving pixels to produce a rendered image of the path, wherein the surviving pixels pass a stencil test that applies the stencil buffer to the rasterized covering geometry. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for rendering a path, the system comprising:
-
a memory that is configured to store a stencil buffer; and a processor that is coupled to the memory and configured to; receive a specification of the path; execute a first instruction to generate, via one or more point containment operations, values to be stored in a stencil buffer that indicate whether samples of the path are to be covered by rasterizing path geometry; executing a second instruction to rasterize covering geometry that conservatively covers the path, without tessellating the path, to determine surviving pixels that are covered by the path, wherein the surviving pixels pass a stencil test that applies the stencil buffer to the rasterized covering geometry; and shade the surviving pixels to produce a rendered image of the path. - View Dependent Claims (13, 14, 15)
-
-
16. A method for rendering a path, the method comprising:
-
executing a first command, provided by an applications programming interface (API), that specifies the path and generates, via one or more point containment operations, values to be stored in a stencil buffer that indicate whether samples are inside of the path by rendering path geometry corresponding to the path; and executing a second command, provided by the API, that covers the path based on the stencil buffer by rendering covering geometry corresponding to the path to produce a rendered image without tessellating the path. - View Dependent Claims (17, 18)
-
-
19. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to render a path, by performing the steps of:
-
executing a first command, provided by an applications programming interface (API), that specifies the path and generates, via one or more point containment operations, values to be stored in a stencil buffer that indicate whether samples are inside of the path by rendering path geometry corresponding to the path; and executing a second command, provided by the API, that covers the path based on the stencil buffer by rendering covering geometry corresponding to the path to produce a rendered image without tessellating the path. - View Dependent Claims (20, 21)
-
Specification