Legal claims defining the scope of protection, as filed with the USPTO.
1. A system, comprising: at least one processor; and at least one memory comprising stored instructions that, in response to execution by the at least one processor, cause the system to at least: sample a first set of lights from among a plurality of lights in each of a plurality of subdivisions of a virtual area, wherein each of the first set of lights is sampled from a corresponding subdivision of the plurality of subdivisions based at least in part on a contribution of the first set of lights in lighting the corresponding subdivision; store information indicative of the first set of lights sampled from each of the plurality of subdivisions in at least one cell of a data structure, wherein each cell of the data structure corresponds to a subdivision of the virtual area; sample a second set of lights from a subset of the first set of lights in each cell of the data structure; and use the second set of lights to render a pixel of an image of the virtual area.
2. The system of claim 1, wherein each of the plurality of subdivisions of the virtual area is a uniform subdivision of the virtual area.
3. The system of claim 2, wherein each of the plurality of subdivisions are defined to form a grid encompassing the virtual area.
4. The system of claim 1, wherein the first set of lights is sampled based, at least in part, on a probability proportional to the contribution of the first set of lights to lighting in each of the plurality of subdivisions.
5. The system of claim 1, the at least one memory comprising stored instructions that, in response to execution by the at least one processor, cause the system to at least: sample the first set of lights based on a probability density function, wherein the probability density function is based, at least in part, on intensity of the first set of lights and distance between the first set of lights and each of the plurality of subdivisions.
6. The system of claim 1, wherein the first set of lights is sampled by one of a plurality of threads executed in parallel by a graphics processing unit.
7. The system of claim 1, wherein the pixel is rendered by at least identifying one or more subdivisions proximate to the pixel and obtaining, from one or more cells of the data structure corresponding to the one or more subdivisions, information indicative of the second set of lights.
8. The system of claim 7, wherein the pixel is rendered based at least in part on a number of lights from each of the plurality of subdivisions, wherein the number is inversely proportional to distance between each of the plurality of subdivisions and the pixel.
9. A non-transitory machine-readable medium having stored thereon instructions which, in response to execution by one or more processors, cause the one or more processors to at least: sample a first set of lights from among a plurality of lights in each of a plurality of subdivisions of a virtual area, wherein each of the first set of lights is sampled from a corresponding subdivision of the plurality of subdivisions based at least in part on a contribution of the first set of lights in lighting the corresponding subdivision; store information indicative of the first set of lights sampled from each of the plurality of subdivisions in at least one cell of a data structure, wherein each cell of the data structure corresponds to a subdivision of the virtual area; sample a second set of lights from a subset of the first set of lights in each cell of the data structure; and use the second set of lights to render a pixel of an image of the virtual area.
10. The non-transitory machine-readable medium of claim 9, wherein each of the plurality of subdivisions of the virtual area is a uniform subdivision of the virtual area.
11. The non-transitory machine-readable medium of claim 9, having stored thereon instructions which, in response to execution by one or more processors, cause the one or more processors to at least: sample the first set of lights based, at least in part, on a probability distribution that is based, at least in part, on the contribution of the first set of lights to lighting in each of the plurality of subdivisions.
12. The non-transitory machine-readable medium of claim 9, having stored thereon instructions which, in response to execution by one or more processors, cause the one or more processors to at least: sample the first set of lights based, at least in part, on a probability distribution that is based, at least in part, on distance between the first set of lights and each of the plurality of subdivisions.
13. The non-transitory machine-readable medium of claim 9, having stored thereon instructions which, in response to execution by one or more processors, cause the one or more processors to at least: sample the first set of lights from the at least one cell of the data structure based, at least in part, on using resampled importance sampling.
14. The non-transitory machine-readable medium of claim 9, having stored thereon instructions which, in response to execution by one or more processors, cause the one or more processors to at least: sample the plurality of lights, including the first set of lights, by at least executing, in parallel, a corresponding number of one or more threads on a graphics processing unit.
15. The non-transitory machine-readable medium of claim 9, having stored thereon instructions which, in response to execution by one or more processors, cause the one or more processors to at least: render the pixel by at least identifying one or more subdivisions proximate to the pixel and obtaining, from one or more cells of the data structure corresponding to the one or more subdivisions, information indicative of the second set of lights stored in the one or more cells of the data structure.
16. The non-transitory machine-readable medium of claim 15, having stored thereon instructions which, in response to execution by one or more processors, cause the one or more processors to at least: obtain, from a cell of the data structure, information indicative of a number of lights inversely proportional to distance between each of the plurality of subdivisions and the pixel.
17. A method, comprising: defining a plurality of subdivisions of a virtual area; sampling a first set of lights from among a plurality of lights in each of a plurality of subdivisions of a virtual area, wherein each of the first set of lights is sampled from a corresponding subdivision of the plurality of subdivisions based at least in part on a contribution of the first set of lights in lighting the corresponding subdivision; storing information indicative of the first set of lights sampled from each of the plurality of subdivisions in at least one cell of a data structure, where each cell of the data structure corresponds to a subdivision of the virtual area; sampling a second set of lights from a subset of the first set of lights in each cell of the data structure; and use the second set of lights to render a pixel of an image of the virtual area.
18. The method of claim 17, wherein the plurality of subdivisions comprise cells of a grid.
19. The method of claim 17, wherein the first set of lights is sampled based, at least in part, on a probability distribution indicative of a contribution of the first set of lights to lighting in each of the plurality of subdivisions.
20. The method of claim 17, wherein the first set of lights is sampled based, at least in part, on a distance between at least one light of the first set of lights and each of the plurality of subdivisions.
21. The method of claim 17, wherein the first set of lights is sampled by executing a thread on a graphics processing unit.
22. The method of claim 17, further comprising: rendering the pixel by at least identifying one or more subdivisions encompassing a region around the pixel.
23. The method of claim 22, further comprising: selecting samples of the second set of lights to use to render the pixel, the second set of lights selected from one or more cells of the data structure corresponding to the one or more subdivisions based, at least in part, on distance between the identified one or more subdivisions and the pixel.
Unknown
May 13, 2025
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.