IP Library › Granted Patent US 9,619,922
Granted Patent B2
US 9,619,922 · App. 14/481,731 · Granted Apr 11, 2017

Distribution caching for direct lights

Inventors: Gregory Nichols (North Hollywood, CA); Peter Kutz (Los Angeles, CA); Christian Eisenacher (Burbank, CA)
Assignee: Disney Enterprises, Inc.
G06T15/06G06T15/50
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,619,922
App. No.
14/481,731
Granted
Apr 11, 2017
Kind
B2
Abstract

There is provided a system and method of distribution caching for direct lights in a scene. The system including a memory and a processor configured to execute a rendering software application to shoot a plurality of rays through a scene that includes a plurality of lights, generate a plurality of cache points at different locations throughout the scene based on the shooting of the plurality of rays, compute a list of lights for each cache point from the plurality of cache points, the list of lights including lights from the plurality of lights that provide illumination at a location of the cache point, and store the plurality of cache points in a memory. The processor may further be configured to execute the rendering software application to render the scene using the cache point database.

Claims (56)

1. A system comprising:

a memory; and

a processor configured to execute a rendering software application to:

shoot a plurality of rays through a scene that includes a plurality of lights;

generate a plurality of cache points at different locations throughout the scene based on the shooting of the plurality of rays;

compute a list of lights for each cache point from the plurality of cache points, the list of lights including lights from the plurality of lights that provide illumination at a location of each of the plurality of the cache points, wherein the list of lights includes first lights from the plurality of lights;

rank the first lights based on an amount of light each of the first lights provides to each of the plurality of the cache points; and

store the plurality of cache points in the memory.

2. The system of claim 1 , wherein each of the plurality of cache points is generated at a location in the scene where one of the plurality of rays hits an object within the scene.

3. The system of claim 1 , wherein the list of lights includes second lights from the plurality of lights, wherein each of the second lights includes a location in the scene that is in closer proximity to the location of the cache point than the first lights.

4. The system of claim 1 , wherein the processor is further configured to execute the rendering software application to render the scene using the plurality of cache points.

5. The system of claim 1 , wherein the processor is further configured to execute the rendering software application to prune the plurality of cache points based on a density of the plurality of cache points within the scene.

6. The system of claim 1 , wherein the processor is further configured to execute the rendering software application to filter the plurality of cache points based on the list of lights between neighboring cache points from the plurality of cache points.

7. A system comprising:

a memory; and

a processor configured to execute a rendering software application to:

shoot a plurality of rays through a scene that includes a plurality of lights;

generate a plurality of cache points at different locations throughout the scene based on the shooting of the plurality of rays;

compute a list of lights for each cache point from the plurality of cache points, the list of lights including lights from the plurality of lights that provide illumination at a location of each of the plurality of the cache points;

prune the plurality of cache points based on a density of the plurality of cache points within the scene; and

store the plurality of cache points in the memory.

8. A system comprising:

a memory; and

a processor configured to execute a rendering software application to:

shoot a plurality of rays through a scene that includes a plurality of lights;

generate a plurality of cache points at different locations throughout the scene based on the shooting of the plurality of rays;

compute a list of lights for each cache point from the plurality of cache points, the list of lights including lights from the plurality of lights that provide illumination at a location of each of the plurality of the cache points;

filter the plurality of cache points based on the list of lights between neighboring cache points from the plurality of cache points; and

store the plurality of cache points in the memory.

9. A method for use by a system having a processor and a memory for rendering a scene using a plurality of cache points, the method comprising:

shooting, using the processor, a plurality of rays through the scene that includes a plurality of lights;

generating, using the processor, a plurality of cache points at different locations throughout the scene based on the shooting of the plurality of rays;

computing, using the processor, a list of lights for each cache point from the plurality of cache points, the list of lights including lights from the plurality of lights that provide illumination at a location of each of the plurality of the cache points, wherein the list of lights includes first lights from the plurality of lights;

ranking the first lights based on an amount of light each of the first lights provides to each of the plurality of the cache points; and

storing, using the processor, the plurality of cache points in the memory.

10. The method of claim 9 , wherein each of the plurality of cache points is generated at a location in the scene where one of the plurality of rays hits an object within the scene.

11. The method of claim 9 , wherein the list of lights includes second lights from the plurality of lights, wherein each of the second lights includes a location in the scene that is in closer proximity to the location of the cache point than the first lights.

12. The method of claim 9 , wherein the method further comprises rendering the scene using the plurality of cache points.

13. The method of claim 9 , wherein the method further comprises pruning the plurality of cache points based on a density of the plurality of cache points within the scene.

14. The method of claim 9 , wherein the method further comprises filtering the plurality of cache points based on the list of lights between neighboring cache points from the plurality of cache points.

15. A method for use by a system having a processor and a memory for rendering a scene using a plurality of cache points, the method comprising:

shooting, using the processor, a plurality of rays through the scene that includes a plurality of lights;

generating, using the processor, a plurality of cache points at different locations throughout the scene based on the shooting of the plurality of rays;

computing, using the processor, a list of lights for each cache point from the plurality of cache points, the list of lights including lights from the plurality of lights that provide illumination at a location of each of the plurality of the cache points;

pruning the plurality of cache points based on a density of the plurality of cache points within the scene; and

storing, using the processor, the plurality of cache points in the memory.

16. The method of claim 15 , wherein the list of lights includes second lights from the plurality of lights, wherein each of the second lights includes a location in the scene that is in closer proximity to the location of the cache point than the first lights.

17. The method of claim 15 , wherein the method further comprises rendering the scene using the plurality of cache points.

18. A method for use by a system having a processor and a memory for rendering a scene using a plurality of cache points, the method comprising:

shooting, using the processor, a plurality of rays through the scene that includes a plurality of lights;

generating, using the processor, a plurality of cache points at different locations throughout the scene based on the shooting of the plurality of rays;

computing, using the processor, a list of lights for each cache point from the plurality of cache points, the list of lights including lights from the plurality of lights that provide illumination at a location of each of the plurality of the cache points;

filtering the plurality of cache points based on the list of lights between neighboring cache points from the plurality of cache points; and

storing, using the processor, the plurality of cache points in the memory.

19. The method of claim 18 , wherein the list of lights includes second lights from the plurality of lights, wherein each of the second lights includes a location in the scene that is in closer proximity to the location of the cache point than the first lights.

20. The method of claim 18 , wherein the method further comprises rendering the scene using the plurality of cache points.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2014
From: NICHOLS, GREGORY; KUTZ, PETER; EISENACHER, CHRISTIAN
To: DISNEY ENTERPRISES, INC
Reel/Frame 033704/0031 →
Continuity (1)
Related Publication 20160071308A1 · Mar 10, 2016