Convex polygon clipping during rendering

US9858708B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9858708-B2
Application numberUS-201414483139-A
CountryUS
Kind codeB2
Filing dateSep 10, 2014
Priority dateSep 10, 2014
Publication dateJan 2, 2018
Grant dateJan 2, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one example, a graphic computing device may apply a clipping technique to accurately and efficiently render a graphic data set. A central processing unit may generate a convex polygonal clip from a two-dimensional polygon. The central processing unit may calculate a clipping plane for a convex polygonal clip based on an edge of the convex polygonal clip. A graphics processor may apply the convex polygonal clip in a pixel shader.

First claim

Opening claim text (preview).

We claim: 1. A machine-implemented method of rendering a graphic object to produce a rendered visual, comprising: identifying an intersecting polygon that intersects with a two-dimensional polygon in the graphic object; generating a dividing plane for the two-dimensional polygon from the intersecting polygon; dividing the two-dimensional polygon with the dividing plane to generate a convex polygonal clip from the two-dimensional polygon; calculating a clipping plane for each edge of the convex polygonal clip to determine whether pixels are within the convex polygonal clip; applying the convex polygonal clip in a pixel shader; and rendering the graphic object, by a graphic processing unit (GPU), while applying the convex polygonal clip in the pixel shader. 2. The method of claim 1 , further comprising: flattening a three-dimensional polygon to the two-dimensional polygon. 3. The method of claim 1 , further comprising: interpolating a clipping distance for a pixel based on a dot product of the pixel and a clipping vector representing the clipping plane. 4. The method of claim 1 , further comprising: identifying a boundary pixel on a clipping boundary of the convex polygonal clip. 5. The method of claim 1 , further comprising: calculating a clipping vector based on the clipping plane. 6. The method of claim 1 , further comprising: calculating a boundary bit based on a direction of a clipping vector. 7. The method of claim 1 , further comprising: setting a boundary bit for a boundary pixel to an included boundary bit indicating the boundary pixel is to be processed with the convex polygonal clip. 8. The method of claim 1 , further comprising: setting a boundary bit for a boundary pixel to an excluded boundary bit indicating the boundary pixel is to be discarded. 9. The method of claim 1 , further comprising: calculating an edge mode simultaneous with the convex polygonal clip. 10. The method of claim 1 , further comprising: tessellating the convex polygonal clip into a plurality of sub-polygons having no more than a pre-set number of edges. 11. The method of claim 1 , further comprising: applying an ancestral polygon clip in the pixel shader. 12. A tangible machine-readable medium having a set of instructions detailing a method stored thereon that when executed by a processing system, having one or more processors, cause the processing system to perform: dividing a two-dimensional polygon of a graphic object with a dividing plane to generate a convex polygonal clip from the two-dimensional polygon; calculating a clipping plane for each edge of the convex polygonal clip to determine whether pixels are within the convex polygonal clip; calculating a clipping vector based on the clipping plane; calculating a boundary bit for a boundary pixel on a clipping boundary of the convex polygonal clip based on a direction of the clipping vector; setting the boundary bit to an included boundary bit indicating the boundary pixel is to be processed with the convex polygonal clip; applying the convex polygonal clip in a pixel shader; and rendering the graphic object, by the one or more processors, while applying the convex polygonal clip in the pixel shader. 13. The tangible machine-readable medium of claim 12 , wherein the method further comprises: flattening the two-dimensional polygon from a three-dimensional polygon. 14. The tangible machine-readable medium of claim 12 , wherein the method further comprises: calculating a dot product for a pixel with the clipping vector. 15. The tangible machine-readable medium of claim 12 , wherein the method further comprises: interpolating a clipping distance for a pixel based on a dot product of the pixel and the clipping vector. 16. The tangible machine-readable medium of claim 12 , wherein the method further comprises: calculating an edge mode simultaneous with the convex polygonal clip. 17. The tangible machine-readable medium of claim 12 , wherein the method further comprises: tessellating the convex polygonal clip into a plurality of sub-polygons having no more than a pre-set number of edges. 18. A graphics processing unit, comprising: a data input configured to receive a clipping plane for each edge of a convex polygonal clip and a boundary bit for a boundary pixel on a clipping boundary of the convex polygonal clip calculated based on a direction of a clipping vector representing the clipping plane; a graphics buffer configured to store the clipping plane and the boundary bit; a processor configured to execute a pixel shader to apply the convex polygonal clip; and wherein the processor is configured to render a graphic object while applying the convex polygonal clip in the pixel shader. 19. The graphics processing unit of claim 18 , wherein the boundary bit is set to at least one of an included boundary bit indicating the boundary pixel is to be processed with the convex polygonal clip and an excluded boundary bit indicating the boundary pixel is to be discarded.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9858708B2 cover?
In one example, a graphic computing device may apply a clipping technique to accurately and efficiently render a graphic data set. A central processing unit may generate a convex polygonal clip from a two-dimensional polygon. The central processing unit may calculate a clipping plane for a convex polygonal clip based on an edge of the convex polygonal clip. A graphics processor may apply the co…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06T15/30. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 02 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).