IP Library Granted Patent US 9,691,177
Granted Patent B2
US 9,691,177 · App. 14/568,816 · Granted Jun 27, 2017

Techniques for automatic occluder simplification using planar sections

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,691,177
App. No.
14/568,816
Granted
Jun 27, 2017
Kind
B2
Abstract

Techniques are disclosed for simplifying an occluder representing 3D graphics data. Graphics data corresponding to one or more 3D objects is voxelized. A plurality of planes is generated to intersect the voxelized graphics data. Intersections between the planes and the voxelized graphics data are evaluated to identify corresponding slice polygons from the intersections. A subset of the planes is selected to maximize a correctness of a simplified occluder. The simplified occluder representing the object is generated from a union of the selected subset of the planes.

Claims (55)

1. A method for simplifying an occluder representing 3D graphics data, the method comprising:

voxelizing the graphics data corresponding to one or more 3D objects;

generating a plurality of planes to intersect the voxelized graphics data;

evaluating intersections between the planes and the voxelized graphics data to identify corresponding slice polygons from the intersections, wherein evaluating the intersections comprises, for each intersecting plane:

extracting edge loops from a bitmap image representation of an interior of the 3D object in the intersecting plane, and

converting each edge loop into the corresponding slice polygons;

selecting a subset of the planes to maximize a correctness of a simplified occluder; and

generating the simplified occluder representing each 3D object from a union of the selected subset of the planes.

2. The method of claim 1 , wherein the maximized correctness based on an occlusion measure and a maximum count of triangles.

3. The method of claim 2 , wherein the occlusion measure of each 3D object is generated by:

rasterizing the 3D object as a binary image using parallel projection;

computing a Euclidean distance transform of the binary image; and

approximating the occlusion measure as a Riemann sum.

4. The method of claim 2 , wherein selecting the subset of the planes to maximize a correctness of the simplified occluder comprises:

generating a polygon simplification chain for each corresponding slice polygon; and

determining a subset of polygon simplification chains that results in maximum occlusion based on the occlusion measure and the maximum count of triangles.

5. The method of claim 4 , wherein identifying the subset of the planes based on the occlusion measure and the maximum count of triangles of triangles further comprises:

upon determining that a count of triangles present in the subset exceeds the budget, iteratively removing triangles from the subset of the planes until the budget of triangles is satisfied.

6. The method of claim 1 , wherein the simplified occluder is generated as a node in a bounding volume hierarchy.

7. A non-transitory computer-readable storage medium storing instructions, which, when executed on a processor, perform an operation for simplifying an occluder representing 3D graphics data, the method comprising:

voxelizing the graphics data corresponding to one or more 3D objects;

generating a plurality of planes to intersect the voxelized graphics data;

evaluating intersections between the planes and the voxelized graphics data to identify corresponding slice polygons from the intersections, wherein evaluating the intersections comprises, for each intersecting plane:

extracting edge loops from a bitmap image representation of an interior of the 3D object in the intersecting plane, and

converting each edge loop into the corresponding slice polygons;

selecting a subset of the planes to maximize a correctness of a simplified occluder; and

generating the simplified occluder representing each 3D object from a union of the selected subset of the planes.

8. The computer-readable storage medium of claim 7 , wherein the maximized correctness based on an occlusion measure and a maximum count of triangles.

9. The computer-readable storage medium of claim 8 , wherein the occlusion measure of each 3D object is generated by:

rasterizing the 3D object as a binary image using parallel projection;

computing a Euclidean distance transform of the binary image; and

approximating the occlusion measure as a Riemann sum.

10. The computer-readable storage medium of claim 8 , wherein selecting the subset of the planes to maximize a correctness of the simplified occluder comprises:

generating a polygon simplification chain for each corresponding slice polygon; and

determining a subset of polygon simplification chains that results in maximum occlusion based on the occlusion measure and the maximum count of triangles.

11. The computer-readable storage medium of claim 10 , wherein identifying the subset of the planes based on the occlusion measure and the maximum count of triangles of triangles further comprises:

upon determining that a count of triangles present in the subset exceeds the budget, iteratively removing triangles from the subset of the planes until the budget of triangles is satisfied.

12. The computer-readable storage medium of claim 7 , wherein the simplified occluder is generated as a node in a bounding volume hierarchy.

13. A system, comprising:

a processor; and

a memory hosting a program, which, when executed on the processor, performs an operation for simplifying an occluder representing 3D graphics data, the operation comprising:

voxelizing the graphics data corresponding to one or more 3D objects;

generating a plurality of planes to intersect the voxelized graphics data;

evaluating intersections between the planes and the voxelized graphics data to identify corresponding slice polygons from the intersections, wherein evaluating the intersections comprises, for each intersecting plane:

extracting edge loops from a bitmap image representation of an interior of the 3D object in the intersecting plane, and

converting each edge loop into the corresponding slice polygons;

selecting a subset of the planes to maximize a correctness of a simplified occluder; and

generating the simplified occluder representing each 3D object from a union of the selected subset of the planes.

14. The system of claim 13 , wherein the maximized correctness based on an occlusion measure and a maximum count of triangles.

15. The system of claim 14 , wherein selecting the subset of the planes to maximize a correctness of the simplified occluder comprises:

generating a polygon simplification chain for each corresponding slice polygon; and

determining a subset of polygon simplification chains that results in maximum occlusion based on the occlusion measure and the maximum count of triangles.

16. The system of claim 15 , wherein identifying the subset of the planes based on the occlusion measure and the maximum count of triangles of triangles further comprises:

upon determining that a count of triangles present in the subset exceeds the budget, iteratively removing triangles from the subset of the planes until the budget of triangles is satisfied.

17. The system of claim 13 , wherein the simplified occluder is generated as a node in a bounding volume hierarchy.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2024
From: A9.COM, INC.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 069167/0493 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2022
From: UMBRA SOFTWARE OY
To: A9.COM, INC.
Reel/Frame 059919/0971 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF RECEIVING PARTY PREVIOUSLY RECORDED ON REEL 034495 FRAME 0627. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Dec 21, 2020
From: SILVENNOINEN, ARI; SARANSAARI, HANNU; MAKINEN, OTSO
To: UMBRA SOFTWARE OY
Reel/Frame 054818/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2014
From: SILVENNOINEN, ARI; SARANSAARI, HANNU; MAKINEN, OTSO
To: UMBRA SOFTWARE LTD.
Reel/Frame 034495/0627 →