IP Library Granted Patent US 10,290,148
Granted Patent B2
US 10,290,148 · App. 15/666,938 · Granted May 14, 2019

System and method for real time dynamic lighting simulation

Inventors: Ian Ashdown (West Vancouver, CA); Wallace Jay Scott (Victoria, CA)
G06T15/506G05B19/042G06F17/11G06F17/504G06F17/5004G06F17/5009G06F17/5018G06T15/005G06T15/04G06T15/55G06T15/80H05B37/0218H05B37/0227H05B37/0281F24F11/30F24F11/47F24F2120/10F24F2130/20F24S2201/00G06T2215/16Y02B20/42Y02B20/46
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,290,148
App. No.
15/666,938
Granted
May 14, 2019
Kind
B2
Abstract

Sustainable building lighting and energy modelling and control, and the associated computer graphics, including real-time dynamic lighting simulation, are concerned with: an optimized method for radiance modelling, including its application to predictive daylight harvesting; and the real-time simulation of physically-based electric lighting and daylighting for architectural, horticultural, and theatrical lighting systems visualization. In order to display and analyze in real time a photometrically accurate representation of an environment, thousands of lighting channels may have their intensity settings continually varied such that a user may interactively view the three-dimensional environment without the need for ongoing global illumination calculations. This can be accomplished utilizing texture maps as a multiplicity of canonical radiosity solutions, each representing a lighting channel for dynamic lighting simulation, and storing the solutions in the texture memory of a graphics processing unit.

Claims (50)

1. A method performed by a lighting modelling system for displaying real-time dynamic lighting simulations, the method comprising:

encoding a texture map as a multiplicity of canonical radiosity solutions, each representing a lighting channel;

storing the solutions in a texture memory of a graphics processing unit (GPU);

generating a multiplicity of lighting channel intensity settings;

storing the lighting channel intensity settings;

accessing the canonical radiosity solutions on a per-vertex basis with a vertex shader program;

multiplying vertex channel colors associated with the vertices by the lighting channel intensity settings; and

summing resultant colors to generate a display vertex color for display.

2. The method of claim 1 wherein, for each vertex, a vertex constant color value from the texture map is used to initialize the display vertex color with one of the multiplicity of canonical radiosity solutions, wherein said one canonical radiosity solution is used to represent a direct and indirect illuminance distribution within an environment for constant electric light sources.

3. The method of claim 2 wherein a vertex channel color texel array index is initialized in order to access a spectral radiant exitances array associated with each vertex.

4. The method of claim 3 , wherein for one or more active color channels to be processed:

a vertex channel color texel from the texture map is fetched;

the vertex channel color represented by the texel is multiplied with an associated global channel dimmer setting or sky patch luminance;

the vertex channel color is added to the display vertex color;

the vertex channel color texel array index is incremented; and

the next active color channel, if any, is processed.

5. The method of claim 2 wherein an inverse gamma correction is applied to the display vertex color, comprising:

each component of a red-green-blue triplet undergoing an inverse gamma correction;

setting vertex texture coordinates as required for the vertex shader program;

calculating a vertex position as required for the vertex shader program; and

executing a fragment shader program on a per-pixel basis for an entire displayed image, utilizing a multiplicity of GPU processor cores.

6. The method of claim 3 wherein an inverse gamma correction is applied to the display vertex color comprising:

each component of a red-green-blue triplet undergoing an inverse gamma correction;

setting vertex texture coordinates as required for the vertex shader program;

calculating a vertex position as required for the vertex shader program; and

executing a fragment shader program on a per-pixel basis for an entire displayed image, utilizing a multiplicity of GPU processor cores.

7. The method of claim 1 , wherein textures are enabled for a displayed image and a fragment color is initialized as an input color times a texel color.

8. The method of claim 1 , wherein a fragment color is initialized as an input color.

9. The method of claim 7 , wherein the vertex belongs to an opaque surface, the method comprising the steps of:

specifying an exposure setting to lighten or darken the displayed image; and

multiplying the fragment color by the exposure setting.

10. The method of claim 8 , wherein the vertex belongs to a textured surface, the method comprising the steps of:

specifying an exposure setting to lighten or darken the displayed image; and

multiplying the fragment color by the exposure setting.

11. The method of claim 9 , wherein a grayscale display has been specified, the method comprising the steps of:

calculating the fragment color as a luminance of its red-green-blue values;

calculating the fragment color as a pseudocolor; and

outputting a value of the fragment color as required for a fragment shader program.

12. The method of claim 10 , wherein a grayscale display has been specified, the method comprising the steps of:

calculating the fragment color as a luminance of its red-green-blue values;

calculating the fragment color as a pseudocolor; and

outputting a value of the fragment color as required for a fragment shader program.

13. The method of claim 9 , wherein the fragment color value is output as required for a fragment shader program.

14. The method of claim 1 , wherein the channel intensity settings are executed by a central processing unit.

15. The method of claim 1 , wherein the lighting modelling system includes a daylight harvesting modelling system.

16. The method in claim 1 , wherein the lighting modelling system for displaying real-time dynamic lighting simulations is for a building.

17. The method in claim 1 , wherein the lighting modelling system for displaying real-time dynamic lighting simulations is for horticultural lighting purposes.

18. The method in claim 16 , wherein the lighting modelling system for displaying real-time dynamic lighting simulations is for a space in a building.

19. The method in claim 16 , wherein the lighting modelling system for displaying real-time dynamic lighting simulations is for a greenhouse.

20. The method in claim 16 , wherein the lighting modelling system for displaying real-time dynamic lighting simulations is for theatrical lighting.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2017
From: ASHDOWN, IAN; SCOTT, WALLACE
To: SUNTRACKER TECHNOLOGIES LTD.
Reel/Frame 043641/0028 →
Continuity (11)
Continuation In Part 15470180 · Mar 27, 2017
Continuation In Part 15407176 · Jan 16, 2017
Continuation In Part 14792590 · Jul 6, 2015
Continuation In Part 13446577 · Apr 13, 2012
Provisional Application 62369912 · Aug 2, 2016
Provisional Application 62313718 · Mar 26, 2016
Provisional Application 62279764 · Jan 17, 2016
Provisional Application 62172641 · Jun 8, 2015
Provisional Application 61565195 · Nov 30, 2011
Provisional Application 61457509 · Apr 14, 2011
Related Publication 20170345208A1 · Nov 30, 2017
Cited By (3)
US 12,338,986 US 12,367,567 US 12,494,643