IP Library Granted Patent US 9,589,375
Granted Patent B2
US 9,589,375 · App. 14/178,945 · Granted Mar 7, 2017

Tile based rendering of smooth points using polygons

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,589,375
App. No.
14/178,945
Granted
Mar 7, 2017
Kind
B2
Abstract

An apparatus and method for rendering a smooth circular point using polygons on a computer graphics display. The circular point is approximated by a polygon and the selection of the polygon depends on the diameter of the point. The polygon is enclosed in a bounding area that is divided into a plurality of tiles. The tiles are classified into different sections depending on their location relative to the center of the point. The tiles in each section are processed according to an algorithm to generate a mask that is used to render the circular point.

Claims (49)

1. A method for a computing device to render a circular point on a display device, the circular point having a center, radius and a circumference and enclosed within a bounding area having a larger circumference than the circumference of the circular point, comprising:

sending, by a vertex and section generator, packets of information that define edges for processing and define the bounding area, the packets including flags that control mask generation and identify one or more sections of the bounding area to be processed, the bounding area comprising multiple predetermined sections, wherein the number of predetermined sections in the bounding area depends on the size and placement of the circular point;

logically dividing the bounding area into a plurality of tiles, wherein the size of each of the plurality of tiles is determined by a user;

classifying at least one of the one or more tiles of the bounding area into a predetermined section of the bounding area according to the center and the radius of the circular point;

generating a mask, according to the flags in the packets, for the at least one tile of the bounding area; and

rendering the circular point according to the mask for the at least one tile of the bounding area.

2. The method of claim 1 , further comprising selecting a polygon representing the circular point from a predefined set of polygons.

3. The method of claim 2 , further comprising determining vertices of the polygon.

4. The method of claim 3 , wherein generating the mask for the at least one tile of the bounding area is performed according to the determined vertices of the polygon.

5. The method of claim 2 , wherein generating a mask comprises:

determining an edge that connects two vertices and touches the at least one tile;

determining whether a point in the at least one tile is inside the polygon based on a position of the point relative to the edge; and

representing the point in the mask.

6. The method of claim 1 , wherein the bounding area is a rectangular area.

7. The method of claim 1 , wherein the predetermined section is selected from the group consisting of a central section, a vertex section, an axial section, and a corner section, the central section being the tile that includes the center of the circular point, the vertex section being the tile that includes the farthest axial portion of the circular point, the axial section being the tile that is located between the central section and the vertex section, the corner section being the tile that is neither classified as the central section, the vertex section, nor the axial section.

8. A non-transitory computer-readable medium containing instructions to execute a method for a computing device to render a circular point on a display device, the circular point having a center, radius and a circumference, the method comprising:

sending, by a vertex and section generator, packets of information that define edges for processing and define the bounding area, the packets including flags that control mask generation and identify one or more sections of the bounding area to be processed, the bounding area comprising multiple predetermined sections, wherein the number of predetermined sections in the bounding area depends on the size and placement of the circular point;

defining a bounding area to enclose the circumference of the circular point;

logically dividing the bounding area into a plurality of tiles, wherein the size of each of the plurality of tiles is determined by a user;

classifying at least one of the one or more tiles of the bounding area into a predetermined section of the bounding area according to the center and the radius of the circular point;

generating a mask, according to the flags in the packets, for each of the one or more tiles of the bounding area according to its classified section; and

rendering the circular point according to the mask for each of the one or more tiles of the bounding area.

9. The non-transitory computer-readable medium of claim 8 , wherein the method further comprises approximating the circular point by a polygon.

10. The non-transitory computer-readable medium of claim 9 , wherein generating a mask further comprises:

determining vertices of the polygon;

determining an edge that connects two vertices and touches at least one tile;

determining whether a point in the at least one tile is inside the polygon based on a position of the point relative to the edge; and

representing the point in the mask.

11. The non-transitory computer-readable medium of claim 8 , wherein defining a bounding area further comprises calculating four corners based upon the center and the radius of the circular point.

12. The non-transitory computer-readable medium of claim 8 , wherein the bounding area is a rectangular area.

13. The non-transitory computer-readable medium of claim 8 , wherein the classified section is selected from the group consisting of a central section, a vertex section, an axial section, and a corner section, the central section being the tile that includes the center of the circular point, the vertex section being the tile that includes the farthest axial portion of the circular point, the axial section being the tile that is located between the central section and the vertex section, the corner section being the tile that is neither classified as the central section, the vertex section, nor the axial section.

14. The non-transitory computer-readable medium of claim 8 , wherein generating the mask for each of the one or more tiles of the bounding area is performed according to the determined vertices of the polygon.

15. An apparatus for rendering a circular point on a display device, the circular point having a center, radius and a circumference and enclosed within a bounding area having a larger circumference than the circumference of the circular point, the apparatus comprising:

hardware having a polygon database;

hardware containing a vertex database;

a processor;

memory comprising instructions for:

sending, by a vertex and section generator, packets of information that define edges for processing and define the bounding area, the packets including flags that control mask generation and identify one or more sections of the bounding area to be processed, the bounding area comprising multiple predetermined sections, wherein the number of predetermined sections in the bounding area depends on the size and placement of the circular point;

logically dividing the bounding area into a plurality of tiles, wherein the size of each of the plurality of tiles is determined by a user;

classifying at least one of the one or more tiles of the bounding area into a predetermined section of the bounding area according to the center and the radius of the circular point;

generating a mask, according to the flags in the packets, for the at least one tile of the bounding area; and

rendering the circular point according to the mask for the at least one tile of the bounding area;

an edge evaluator in communication with the polygon database and the vertex database; and

a drawing element in communication with the edge evaluator, the drawing element approximating the circle by rendering every point in the bounding area.

16. The apparatus of claim 15 , wherein the polygon database further comprises of a plurality of entries, each entry listing a diameter and a corresponding polygon.

17. The apparatus of claim 16 , wherein the diameter is measured in pixels.

18. The apparatus of claim 15 , wherein the bounding area is a rectangular area.

19. The apparatus of claim 15 , wherein each classified section is selected from the group consisting of a central section, a vertex section, an axial section, and a corner section, the central section being the tile that includes the center of the circular point, the vertex section being the tile that includes the farthest axial portion of the circular point, the axial section being the tile that is located between the central section and the vertex section, the corner section being the tile that is neither classified as the central section, the vertex section, nor the axial section.

20. The apparatus of claim 15 , wherein the circular point is approximated by a polygon.

Assignments (11)
RELEASE OF SECURITY INTEREST IN SPECIFIED PATENTS Recorded May 10, 2022
From: BARINGS FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 059925/0652 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2021
From: MEDIATEK INC.
To: XUESHAN TECHNOLOGIES INC.
Reel/Frame 056593/0167 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2020
From: RPX CORPORATION
To: MEDIATEK INC.
Reel/Frame 054152/0888 →
RELEASE OF LIEN ON PATENTS Recorded Aug 14, 2020
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: RPX CORPORATION
Reel/Frame 053498/0067 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2020
From: RPX CORPORATION
To: MEDIATEK INC.
Reel/Frame 054107/0830 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2017
From: ZIILABS INC., LTD.
To: RPX CORPORATION
Reel/Frame 044476/0749 →
CHANGE OF NAME Recorded Mar 21, 2017
From: 3DLABS INC., LTD.
To: ZIILABS INC., LTD.
Reel/Frame 042056/0487 →