IP Library › Granted Patent US 10,872,469
Granted Patent B2
US 10,872,469 · App. 16/824,064 · Granted Dec 22, 2020

System and method for subdividing large polygon mesh datasets into hierarchical subsets for level-of-detail use

Inventors: Kangning Li (North Wales, PA); Sean Lilley (Exton, PA); Daniel Bagnell (Exton, PA)
Assignee: Cesium GS, Inc.
G06T17/205G06T2210/36
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,872,469
App. No.
16/824,064
Granted
Dec 22, 2020
Kind
B2
Abstract

Systems, methods, devices, and non-transitory media of various embodiments enable subdividing large polygon meshes with diverse materials into a hierarchy of separate components, such as tiles. In various embodiments, the components may in aggregate represent the entire mesh. In the hierarchies of separate components as provided by the various embodiments, the components may be loaded as-needed based on importance, culled due to lack of importance to a given view, and/or replaced with higher or lower detail variants depending on importance to a given view. The ability to load components, such as tiles, on-demand provided by the various embodiments may provide improved rendering performance of a large polygon mesh with diverse materials, especially when the rendering leverages data transmission over a network.

Claims (57)

1. A method for subdividing large polygon mesh datasets into hierarchical subsets for level-of-detail use, comprising:

grouping triangles in a triangle mesh dataset by material use to create at least two different material groups;

determining and storing a hierarchy of tiles within each material group;

generating and storing a hierarchical level-of-detail (HLOD) structure indicating the tiles and all the material groups, wherein:

each of the at least two different material groups comprises the triangles in the triangle mesh dataset associated with any functionally identical materials unique to that respective group; and

each of the at least two different material groups preserves any triangle groups associated with the functionally identical materials unique to that respective group indicated in the triangle mesh dataset; and

in parallel, and on a separate processor for each of the at least two different material groups:

generating placeholder tiles for any tiles exceeding a combined processing budget comprising a vertex count per tile of below 2 16 and a material expense below a threshold, wherein each placeholder tile has a lower level of detail than the respective tile exceeding the combined processing budget for which that placeholder tile was generated; and

generating children tiles for at least one placeholder tile based on the respective tile exceeding the combined processing budget for which that placeholder tile was generated, wherein the children tiles have a same resolution as the respective tile exceeding the processing budget for which that placeholder tile was generated.

2. The method of claim 1 , wherein determining and storing the hierarchy of tiles within each material group comprises:

identifying triangles that should be perceived together when rendered as a perception group of triangles; and

adding the perception group of triangles to a same tile.

3. The method of claim 1 , wherein determining and storing the hierarchy of tiles within each material group comprises assembling perception groups of triangles together in the same tile until a vertex count per tile budget is met for the same tile.

4. The method of claim 1 , wherein determining and storing the hierarchy of tiles within each material group comprises prioritizing tiles based on a visual importance of the perception group within the tile.

5. The method of claim 4 , wherein visual importance is based at least in part on surface area.

6. The method of claim 1 , wherein grouping triangles in a triangle mesh dataset by material use to create at least two different material groups comprises grouping all triangles in the triangle mesh dataset by material use to create at least two different material groups.

7. The method of claim 1 , further comprising:

determining a priority for rendering of each tile in the HLOD structure; and

indicating the priority for rendering of each tile in the HLOD structure.

8. The method of claim 7 , wherein the priority for rendering for each tile is that tile's geometric error.

9. A computing device, comprising:

a graphic display; and

a processor connected to the graphic display, wherein the processor is configured with processor executable instructions to perform operations comprising:

grouping triangles in a triangle mesh dataset by material use to create at least two different material groups;

determining and storing a hierarchy of tiles within each material group;

generating and storing a hierarchical level-of-detail (HLOD) structure indicating the tiles and all the material groups, wherein:

each of the at least two different material groups comprises the triangles in the triangle mesh dataset associated with any functionally identical materials unique to that respective group; and

each of the at least two different material groups preserves any triangle groups associated with the functionally identical materials unique to that respective group indicated in the triangle mesh dataset; and

controlling a separate processor for each of the at least two different material groups to, in parallel, perform operations to:

generate placeholder tiles for any tiles exceeding a combined processing budget comprising a vertex count per tile of below 2 16 and a material expense below a threshold, wherein each placeholder tile has a lower level of detail than the respective tile exceeding the combined processing budget for which that placeholder tile was generated; and

generate children tiles for at least one placeholder tile based on the respective tile exceeding the combined processing budget for which that placeholder tile was generated, wherein the children tiles have a same resolution as the respective tile exceeding the processing budget for which that placeholder tile was generated.

10. The computing device of claim 9 , wherein the processor is configured with processor executable instruction to perform operations such that determining and storing the hierarchy of tiles within each material group comprises:

identifying triangles that should be perceived together when rendered as a perception group of triangles; and

adding the perception group of triangles to a same tile.

11. The computing device of claim 9 , wherein the processor is configured with processor executable instruction to perform operations such that determining and storing the hierarchy of tiles within each material group comprises assembling perception groups of triangles together in the same tile until a vertex count per tile budget is met for the same tile.

12. The computing device of claim 9 , wherein the processor is configured with processor executable instruction to perform operations such that determining and storing the hierarchy of tiles within each material group comprises prioritizing tiles based on a visual importance of the perception group within the tile.

13. The computing device of claim 12 , wherein visual importance is based at least in part on surface area.

14. The computing device of claim 9 , wherein the processor is configured with processor executable instruction to perform operations such that grouping triangles in a triangle mesh dataset by material use to create at least two different material groups comprises grouping all triangles in the triangle mesh dataset by material use to create at least two different material groups.

15. The computing device of claim 9 , wherein the processor is configured with processor executable instruction to perform operations further comprising:

determining a priority for rendering of each tile in the HLOD structure; and

indicating the priority for rendering of each tile in the HLOD structure.

16. The computing device of claim 15 , wherein the priority for rendering for each tile is that tile's geometric error.

17. A non-transitory processor readable medium having stored thereon processor-readable instructions configured to cause a processor of a computing device to perform operations comprising:

grouping triangles in a triangle mesh dataset by material use to create at least two different material groups;

determining and storing a hierarchy of tiles within each material group;

generating and storing a hierarchical level-of-detail (HLOD) structure indicating the tiles and all the material groups, wherein:

each of the at least two different material groups comprises the triangles in the triangle mesh dataset associated with any functionally identical materials unique to that respective group; and

each of the at least two different material groups preserves any triangle groups associated with the functionally identical materials unique to that respective group indicated in the triangle mesh dataset; and

controlling a separate processor for each of the at least two different material groups to, in parallel, perform operations to:

generate placeholder tiles for any tiles exceeding a combined processing budget comprising a vertex count per tile of below 2 16 and a material expense below a threshold, wherein each placeholder tile has a lower level of detail than the respective tile exceeding the combined processing budget for which that placeholder tile was generated; and

generate children tiles for at least one placeholder tile based on the respective tile exceeding the combined processing budget for which that placeholder tile was generated, wherein the children tiles have a same resolution as the respective tile exceeding the processing budget for which that placeholder tile was generated.

18. The non-transitory processor readable medium of claim 17 , wherein the processor-readable instructions are configured to cause a processor of a computing device to perform operations such that determining and storing the hierarchy of tiles within each material group comprises:

identifying triangles that should be perceived together when rendered as a perception group of triangles; and

adding the perception group of triangles to a same tile.

19. The non-transitory processor readable medium of claim 17 , wherein the processor-readable instructions are configured to cause a processor of a computing device to perform operations further comprising:

determining a priority for rendering of each tile in the HLOD structure; and

indicating the priority for rendering of each tile in the HLOD structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2020
From: LI, KANGNING; LILLEY, SEAN; BAGNELL, DANIEL
To: CESIUM GS, INC.
Reel/Frame 052169/0531 →
Continuity (2)
Provisional Application 62822234 · Mar 22, 2019
Related Publication 20200302692A1 · Sep 24, 2020