IP Library Granted Patent US 10,453,236
Granted Patent B1
US 10,453,236 · App. 15/835,545 · Granted Oct 22, 2019

Dynamic mesh generation to minimize fillrate utilization

Inventor: Romain P. Guy (Millbrae, CA)
Assignee: Google LLC
G06T11/60G06T11/001
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 10,453,236
App. No.
15/835,545
Granted
Oct 22, 2019
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for generating a dynamic mesh for rendering with a graphical user interface. Graphical objects are rendered onto a layer having transparent pixels. The system infers what areas of the layer are drawn areas, and a mesh is generated based on the drawn areas.

Claims (57)

1. A computer-implemented method comprising:

rendering a layer of a graphical user interface into an off-screen buffer, the layer of the graphical user interface having transparent pixels and a graphical object that comprises opaque pixels;

identifying (i) a non-drawn area of the layer that has only transparent pixels and (ii) a drawn area of the layer, the drawn area (a) corresponding to the graphical object rendered onto the layer of the graphical user interface and (b) encompassing the opaque pixels rendered in the off-screen buffer as the graphical object;

generating a mesh that (i) maps to the drawn area that (a) corresponds to the graphical object rendered onto the layer of the graphical user interface and (b) encompasses the opaque pixels rendered in the off-screen buffer as the graphical object, and (ii) does not map to the non-drawn area that has only transparent pixels; and

providing, to a graphics processing unit, the mesh that (i) maps to the drawn area that (a) corresponds to the graphical object rendered onto the layer of the graphical user interface and (b) encompasses the opaque pixels rendered in the off-screen buffer as the graphical object, and (ii) does not map to the non-drawn area that has only transparent pixels to process the graphical user interface for display.

2. The method of claim 1 , comprising:

receiving the mesh; and

processing each pixel mapped by the mesh such that areas that have pixels that are not mapped by the mesh are not processed.

3. The method of claim 2 , comprising:

receiving a background layer, the background layer having corresponding pixels to the non-drawn area of the layer that has only transparent pixels;

processing the corresponding pixels of the background layer; and

displaying at least some of the pixels mapped to the mesh and at least some of the corresponding pixels of the background layer at a same time on the graphical user interface.

4. The method of claim 1 , wherein generating the mesh further comprises generating a texture that represents the drawn area of the layer and mapping the texture to the mesh.

5. The method of claim 1 , comprising:

determining an unused layer fraction that represents a fraction of the pixels of the layer that are not within the drawn area inferred for any graphical object rendered onto the layer; and

determining that the unused layer fraction exceeds a threshold value,

wherein generating the mesh is based on determining that the unused layer fraction exceeds the threshold value.

6. The method of claim 5 , wherein the threshold value for generating the mesh is equal to or greater than 60%.

7. The method of claim 1 , wherein the graphical object comprises an icon.

8. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

rendering a layer of a graphical user interface into an off-screen buffer, the layer of the graphical user interface having transparent pixels and a graphical object that comprises opaque pixels;

identifying (i) a non-drawn area of the layer that has only transparent pixels and (ii) a drawn area of the layer, the drawn area (a) corresponding to the graphical object rendered onto the layer of the graphical user interface and (b) encompassing the opaque pixels rendered in the off-screen buffer as the graphical object;

generating a mesh that (i) maps to the drawn area that (a) corresponds to the graphical object rendered onto the layer of the graphical user interface and (b) encompasses the opaque pixels rendered in the off-screen buffer as the graphical object, and (ii) does not map to the non-drawn area that has only transparent pixels; and

providing, to a graphics processing unit, the mesh that (i) maps to the drawn area that (a) corresponds to the graphical object rendered onto the layer of the graphical user interface and (b) encompasses the opaque pixels rendered in the off-screen buffer as the graphical object, and (ii) does not map to the non-drawn area that has only transparent pixels to process the graphical user interface for display.

9. The system of claim 8 , wherein the operations further comprise:

receiving the mesh; and

processing each pixel mapped by the mesh such that areas that have pixels that are not mapped by the mesh are not processed.

10. The system of claim 9 , wherein the operations further comprise:

receiving a background layer, the background layer having corresponding pixels to the non-drawn area of the layer that has only transparent pixels;

processing the corresponding pixels of the background layer; and

displaying at least some of the pixels mapped to the mesh and at least some of the corresponding pixels of the background layer at a same time on the graphical user interface.

11. The system of claim 8 , wherein generating the mesh further comprises generating a texture that represents the drawn area of the layer and mapping the texture to the mesh.

12. The system of claim 8 , wherein the operations further comprise:

determining an unused layer fraction that represents a fraction of the pixels of the layer that are not within the drawn area inferred for any graphical object rendered onto the layer; and

determining that the unused layer fraction exceeds a threshold value,

wherein generating the mesh is based on determining that the unused layer fraction exceeds the threshold value.

13. The system of claim 12 , wherein the threshold value for generating the mesh is equal to or greater than 60%.

14. The system of claim 8 , wherein the graphical object comprises an icon.

15. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

rendering a layer of a graphical user interface into an off-screen buffer, the layer of the graphical user interface having transparent pixels and a graphical object that comprises opaque pixels;

identifying (i) a non-drawn area of the layer that has only transparent pixels and (ii) a drawn area of the layer, the drawn area (a) corresponding to the graphical object rendered onto the layer of the graphical user interface and (b) encompassing the opaque pixels rendered in the off-screen buffer as the graphical object;

generating a mesh that (i) maps to the drawn area that (a) corresponds to the graphical object rendered onto the layer of the graphical user interface and (b) encompasses the opaque pixels rendered in the off-screen buffer as the graphical object, and (ii) does not map to the non-drawn area that has only transparent pixels; and

providing, to a graphics processing unit, the mesh that (i) maps to the drawn area that (a) corresponds to the graphical object rendered onto the layer of the graphical user interface and (b) encompasses the opaque pixels rendered in the off-screen buffer as the graphical object, and (ii) does not map to the non-drawn area that has only transparent pixels to process the graphical user interface for display.

16. The medium of claim 15 , wherein the operations further comprise:

receiving the mesh; and

processing each pixel mapped by the mesh such that areas that have pixels that are not mapped by the mesh are not processed.

17. The medium of claim 16 , wherein the operations further comprise:

receiving a background layer, the background layer having corresponding pixels to the non-drawn area of the layer that has only transparent pixels;

processing the corresponding pixels of the background layer; and

displaying at least some of the pixels mapped to the mesh and at least some of the corresponding pixels of the background layer at a same time on the graphical user interface.

18. The medium of claim 15 , wherein generating the mesh further comprises generating a texture that represents the drawn area of the layer and mapping the texture to the mesh.

19. The medium of claim 15 , wherein the operations further comprise:

determining an unused layer fraction that represents a fraction of the pixels of the layer that are not within the drawn area inferred for any graphical object rendered onto the layer; and

determining that the unused layer fraction exceeds a threshold value,

wherein generating the mesh is based on determining that the unused layer fraction exceeds the threshold value.

20. The medium of claim 19 , wherein the threshold value for generating the mesh is equal to or greater than 60%.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2017
From: GUY, ROMAIN P.
To: GOOGLE INC.
Reel/Frame 044369/0529 →
CHANGE OF NAME Recorded Dec 12, 2017
From: GOOGLE INC
To: GOOGLE LLC
Reel/Frame 044846/0309 →
Continuity (2)
Continuation 13735636 · Jan 7, 2013
Provisional Application 61583503 · Jan 5, 2012