IP Library Granted Patent US 9,892,548
Granted Patent B2
US 9,892,548 · App. 14/820,491 · Granted Feb 13, 2018

Lighting simulation analysis using light path expressions

Inventors: Daniel Johannes Seibert (Berlin, DE); Stefan Radig (Brandenburg, DE); Matthias Raab (Berlin, DE); Carsten Alexander Waechter (Berlin, DE); Lutz Kettner (Berlin, DE); Alexander Keller (Berlin, DE); Dirk Gerrit van Antwerpen (Berlin, DE)
Assignee: NVIDIA Corporation
G06T15/506G06T2210/04
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,892,548
App. No.
14/820,491
Granted
Feb 13, 2018
Kind
B2
Abstract

A method, system, and computer program product for performing a lighting simulation are disclosed. The method includes the steps of receiving a three-dimensional (3D) model, receiving a set of probes, where each probe specifies a location within the 3D model and an orientation of the probe, and performing, via a processor, a lighting simulation based on the 3D model, the set of probes, and one or more light path expressions. The light path expressions are regular expressions that represent a series of events, each event representing an interaction of a ray at a location in the 3D model.

Claims (38)

1. A method, comprising:

receiving a three-dimensional (3D) model;

receiving a set of probes, wherein each probe includes a first vector that specifies a location within the 3D model and a second vector that specifies an orientation of the probe;

performing, via a light transport simulation tool executed by a processor, a light transport simulation based on the 3D model, the set of probes, and one or more light path expressions,

wherein performing the light transport simulation comprises, for each probe in the set of probes:

generating a number of light transport paths that are associated with the probe,

selecting a subset of light transport paths in the number of light transport paths based on a set of light path expressions in the one or more light path expressions, and

calculating a contribution to at least one illumination value for the probe for each light transport path in the subset of light transport paths, wherein calculating the contribution to the at least one illumination value for the probe comprises applying a path space filtering technique that includes calculating a filtered contribution for the probe by blending a plurality of contributions from a plurality of probes located within a sphere centered at the location of the probe.

2. The method of claim 1 , wherein each light path expression in the one or more light path expressions comprises a regular expression that represents a series of events, each event representing an interaction of a ray at a location in the 3D model.

3. The method of claim 1 , further comprising storing at least one illumination value for accelerating lighting calculations.

4. The method of claim 1 , wherein the at least one illumination value for each probe in the set of probes is stored in point clouds, voxels, textures, or micro-polygon structures.

5. The method of claim 1 , wherein the processor comprises a graphics processing unit and multiple light transport paths are generated in parallel for each probe in the set of probes.

6. The method of claim 1 , wherein each light path expression in the one or more light path expressions is generated by concatenating a set of event descriptors in a string.

7. The method of claim 6 , wherein the string may include at least one of a wildcard symbol and an operator defined in a grammar for the light path expressions.

8. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform steps comprising:

receiving a three-dimensional (3D) model;

receiving a set of probes, wherein each probe includes a first vector that specifies a location within the 3D model and a second vector that specifies an orientation of the probe; and

performing, via a light transport simulation tool executed by the processor, a light transport simulation based on the 3D model, the set of probes, and one or more light path expressions,

wherein performing the light transport simulation comprises, for each probe in the set of probes:

generating a number of light transport paths that are associated with the probe,

selecting a subset of light transport paths in the number of light transport paths based on a set of light path expressions in the one or more light path expressions, and

calculating a contribution to at least one illumination value for the probe for each light transport path in the subset of light transport paths, wherein calculating the contribution to the at least one illumination value for the probe comprises applying a path space filtering technique that includes calculating a filtered contribution for the probe by blending a plurality of contributions from a plurality of probes located within a sphere centered at the location of the probe.

9. The non-transitory computer-readable storage medium of claim 8 , wherein each light path expression in the one or more light path expressions comprises a regular expression that represents a series of events, each event representing an interaction of a ray at a location in the 3D model.

10. The non-transitory computer-readable storage medium of claim 8 , wherein each light path expression in the one or more light path expressions is generated by concatenating a set of event descriptors in a string.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the string may include at least one of a wildcard symbol and an operator defined in a grammar for the light path expressions.

12. A system, comprising:

a processor configured to:

receive a three-dimensional (3D) model,

receive a set of probes, wherein each probe includes a first vector that specifies a location within the 3D model and a second vector that specifies an orientation of the probe, and

perform, via a light transport simulation tool executed by the processor, a light transport simulation based on the 3D model, the set of probes, and one or more light path expressions,

wherein performing the light transport simulation comprises, for each probe in the set of probes:

generating a number of light transport paths that are associated with the probe,

selecting a subset of light transport paths in the number of light transport paths based on a set of light path expressions in the one or more light path expressions, and

calculating a contribution to at least one illumination value for the probe for each light transport path in the subset of light transport paths, wherein calculating the contribution to the at least one illumination value for the probe comprises applying a path space filtering technique that includes calculating a filtered contribution for the probe by blending a plurality of contributions from a plurality of probes located within a sphere centered at the location of the probe.

13. The system of claim 12 , wherein each light path expression in the one or more light path expressions comprises a regular expression that represents a series of events, each event representing an interaction of a ray at a location in the 3D model.

14. The system of claim 12 , wherein the processor comprises a graphics processing unit and multiple light transport paths are generated in parallel for each probe in the set of probes.

15. The system of claim 12 , wherein each light path expression in the one or more light path expressions is generated by concatenating a set of event descriptors in a string.

16. The system of claim 15 , wherein the string may include at least one of a wildcard symbol and an operator defined in a grammar for the light path expressions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2015
From: SEIBERT, DANIEL JOHANNES; RADIG, STEFAN; RAAB, MATTHIAS; WAECHTER, CARSTEN ALEXANDER; KETTNER, LUTZ; KELLER, ALEXANDER; VAN ANTWERPEN, DIRK GERRIT
To: NVIDIA CORPORATION
Reel/Frame 036276/0336 →
Continuity (2)
Provisional Application 62035354 · Aug 8, 2014
Related Publication 20160042559A1 · Feb 11, 2016