IP Library Granted Patent US 10,713,844
Granted Patent B2
US 10,713,844 · App. 15/537,884 · Granted Jul 14, 2020

Rendering based generation of occlusion culling models

Inventors: Ulrik Lindahl (Ljungsbro, SE); Gustaf Johansson (Linköping, SE)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06T17/10G06T7/564G06T15/00G06T17/00G06T17/20G06T15/40G06T17/005G06T2210/12
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,713,844
App. No.
15/537,884
Granted
Jul 14, 2020
Kind
B2
Abstract

A method and image processing apparatus for creating simplified representations of an existing virtual 3D model for use in occlusion culling is provided. A visual hull construction is performed on the existing virtual 3D model using an approximate voxel volume consisting of a plurality of voxels. A set of projections from a plurality of viewing angles provide a visual hull of the existing 3D model. The volumetric size of the visual hull of the existing 3D model is increased to envelop the existing virtual 3D model to provide the visual hull as an occludee model, and the volumetric size of the visual hull of the existing 3D model is decreased to be enveloped by the existing virtual 3D model to provide the visual hull as an occluder model. The occludee model and the occluder model are used during runtime in a 3D virtual environment for occlusion culling.

Claims (34)

1. A method for creating simplified representations of an existing virtual three-dimensional (3D) model for use in occlusion culling, said method comprising:

receiving said existing virtual 3D model, wherein at least one opening of said existing virtual 3D model defines an angular range in which a viewing angle results in a view through the at least one opening;

performing visual hull construction on said existing virtual 3D model using an approximate voxel volume consisting of a plurality of voxels, said voxel volume fully enclosing said existing virtual 3D model and a set of projections from a plurality of viewing angles to provide a visual hull of said existing 3D model, wherein a predetermined repetition distance of the plurality of viewing angles is selected to provide at least one viewing angle within the angular range;

increasing or decreasing a volumetric size of said visual hull of said existing 3D model, wherein increasing the volumetric size of said visual hull of said existing 3D model is performed to enable said visual hull of said existing 3D model to envelop said existing virtual 3D model to provide said visual hull as an occludee model, and wherein decreasing the volumetric size of said visual hull of said existing 3D model is performed to enable the said visual hull of said existing 3D model to be enveloped by said existing virtual 3D model to provide said visual hull as an occluder model; and

using said occludee model or said occluder model during runtime in a 3D virtual environment for occlusion culling.

2. The method according to claim 1 , further comprising adding a limited layer of voxels to said visual hull, said limited layer being limited to predetermined portions of said visual hull.

3. The method according to claim 1 , further comprising removing a limited layer of voxels to or from said visual hull, said limited layer being limited to predetermined portions of said visual hull.

4. The method according to claim 1 , further comprising converting said visual hull into a polygonal mesh representation prior to increasing and decreasing the volumetric size of said visual hull.

5. The method according to claim 4 , wherein increasing and decreasing the size of said visual hull comprises resizing the polygon mesh representation of said visual hull.

6. A method according to claim 1 , wherein said plurality of viewing angles are uniformly spaced apart by a predetermined repetition distance around the existing virtual 3D model.

7. A system for creating simplified representations of an existing virtual three-dimensional (3D) model for use in occlusion culling, said system comprising:

a memory; and

one or more processors programmed to:

receiving the existing virtual 3D model, wherein at least one opening of said existing virtual 3D model defines an angular range in which a viewing angle results in a view through the at least one opening;

perform visual hull construction on the existing virtual 3D model using an approximate voxel volume consisting of a plurality of voxels, the voxel volume fully enclosing the existing virtual 3D model and a set of projections from a plurality of viewing angles to provide a visual hull of the existing 3D model, wherein a predetermined repetition distance of the plurality of viewing angles is selected to provide at least one viewing angle within the angular range;

increase or decrease a volumetric size of the visual hull of said existing 3D model, wherein increasing the volumetric size of the visual hull of said existing 3D model enables the visual hull of said existing 3D model to envelop the existing virtual 3D model to provide the visual hull as an occludee model, and wherein decreasing the volumetric size of the visual hull of the existing 3D model enables the visual hull of the existing 3D model to be enveloped by the existing virtual 3D model to provide the visual hull as an occluder model; and

use the occludee model or the occluder model during runtime in a 3D virtual environment for occlusion culling.

8. The system of claim 7 , wherein the one or more processors are further programmed to add a limited layer of voxels to or from the visual hull, the limited layer being limited to predetermined portions of the visual hull.

9. The system of claim 7 , wherein the one or more processors are further programmed to remove a limited layer of voxels to or from the visual hull, the limited layer being limited to predetermined portions of the visual hull.

10. The system of claim 7 , wherein the one or more processors are further programmed to convert the visual hull into a polygonal mesh representation prior to increasing and decreasing the volumetric size of the visual hull.

11. The system of claim 10 , wherein increasing and decreasing the size of the visual hull comprises resizing the polygon mesh representation of the visual hull.

12. The system of claim 7 , wherein the plurality of viewing angles are uniformly spaced apart by a predetermined repetition distance around the existing virtual 3D model.

13. The system of claim 7 , wherein increasing the volumetric size of the visual hull comprises adding at least one outer layer of voxels to a first portion of the visual hull to provide the occludee model without adding the at least one outer layer of voxels to a second portion of the visual hull, and wherein decreasing the volumetric size of the existing virtual 3D model comprises removing at least one outer layer of voxels from a third portion of the visual hull to provide the occluder model without removing the at least one outer layer of voxels from a fourth portion of the visual hull.

14. The system of claim 7 , wherein a size of the voxels in the voxel volume during a visual hull construction is configured such that a view through at least one opening corresponds to at least two voxels.

15. One or more computer-readable storage device comprising computer-executable instructions for creating simplified representations of an existing virtual three-dimensional (3D) model for use in occlusion culling, the computer-executable instructions causing one or more processors to perform operations comprising:

receiving the existing virtual 3D model, wherein at least one opening of said existing virtual 3D model defines an angular range in which a viewing angle results in a view through the at least one opening;

performing visual hull construction on the existing virtual 3D model using an approximate voxel volume consisting of a plurality of voxels, the voxel volume fully enclosing the existing virtual 3D model and a set of projections from a plurality of viewing angles to provide a visual hull of the existing 3D model, wherein a predetermined repetition distance of the plurality of viewing angles is selected to provide at least one viewing angle within the angular range;

increasing or decreasing a volumetric size of the visual hull of said existing 3D model, wherein increasing the volumetric size of the visual hull of said existing 3D model enables the visual hull of said existing 3D model to envelop the existing virtual 3D model to provide the visual hull as an occludee model, and wherein decreasing the volumetric size of the visual hull of the existing 3D model enables the visual hull of the existing 3D model to be enveloped by the existing virtual 3D model to provide the visual hull as an occluder model; and

using the occludee model or the occluder model during runtime in a 3D virtual environment for occlusion culling.

16. The one or more computer-readable storage device of claim 15 , wherein the computer-executable instructions further cause the one or more processors to perform operations comprising adding a limited layer of voxels to or from the visual hull, the limited layer being limited to predetermined portions of the visual hull.

17. The one or more computer-readable storage device of claim 15 , wherein the computer-executable instructions further cause the one or more processors to perform operations comprising removing a limited layer of voxels to or from the visual hull, the limited layer being limited to predetermined portions of the visual hull.

18. The one or more computer-readable storage device of claim 15 , wherein the computer-executable instructions further cause the one or more processors to perform operations comprising converting the visual hull into a polygonal mesh representation prior to increasing and decreasing the volumetric size of the visual hull.

19. The one or more computer-readable storage device of claim 18 , wherein increasing and decreasing the size of the visual hull comprises resizing the polygon mesh representation of the visual hull.

20. The one or more computer-readable storage device of claim 15 , wherein the plurality of viewing angles are uniformly spaced apart by a predetermined repetition distance around the existing virtual 3D model.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2020
From: DONYA LABS AB
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053420/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2019
From: LINDAHL, ULRIK; JOHANSSON, GUSTAF
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 049022/0462 →
Priority Claims (1)
EP 14199427 · Dec 19, 2014 · regional
Continuity (1)
Related Publication 20170358127A1 · Dec 14, 2017