US9928641B2ActiveUtilityA1

Systems and methods for reproduction of shadows from multiple incident light sources

44
Assignee: TAKE TWO INTERACTIVE SOFTWARE INCPriority: Aug 20, 2008Filed: Apr 27, 2016Granted: Mar 27, 2018
Est. expiryAug 20, 2028(~2.1 yrs left)· nominal 20-yr term from priority
G06T 15/005G06T 15/60
44
PatentIndex Score
0
Cited by
8
References
15
Claims

Abstract

Systems and methods are provided for simulating shadows in a scene. In an embodiment, two or more light sources that cast shadows from objects are identified. Each of those light sources is then assigned to a channel in a shadow mask buffer. The shadows are then accumulated into the shadow mask buffer and may be combined with corresponding lights to render the scene.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer processor implemented method for rendering shadows from multiple light sources in a 3D computer graphics scene, where the scene has an associated binary space partition (BSP) comprising a number of leaves, the method comprising:
 generating a list identifying the light sources that affect each of a plurality of the BSP leaves; 
 assigning each of the light sources on the list to a channel in a shadow mask buffer, wherein the shadow mask buffer has a plurality of channels, the assigning step comprising: 
 calculating the amount of overlap between each pair of light sources on the list; prioritizing the assigning light sources with high degrees of overlap to different channels from one another; 
 generating shadows cast by each light source and accumulating the results into the light source's assigned channel; 
 generating the final 3D computer graphics scene using the shadow mask. 
 
     
     
       2. The method of  claim 1  further comprising first determining which BSP leaves are visible in the scene and only performing the rest of the method on visible BSP leaves. 
     
     
       3. The method of  claim 2  wherein the determining visibility step uses ZPass. 
     
     
       4. The method of  claim 2  wherein the determining visibility step uses ZFail. 
     
     
       5. The method of  claim 1  wherein the BSP partition and a portion of the list for stationary light sources is precomputed and further comprising performing the list generating step during runtime for non-stationary light sources. 
     
     
       6. The method of  claim 1  wherein the step of generating the final 3D computer graphics scene comprises percentage closer filtering. 
     
     
       7. The method of  claim 5  further comprises rendering an edge buffer that identifies regions in the shadow map likely to be in the shadow's penumbra. 
     
     
       8. The method of  claim 1  wherein the step of generating the final 3D computer graphics scene comprises variance shadow maps. 
     
     
       9. The method of  claim 1  wherein the step of generating the final 3D computer graphics scene further comprises using an attenuation map. 
     
     
       10. A computer implemented method for simulating shadows in a 3D graphics scene having a plurality of light sources, including static and dynamic light sources, casting shadows comprising:
 generating a binary space partitioning (BSP) having a plurality of leaves; 
 determining which static light sources each BSP leaf receives light from and adding those light sources to a list recording the light sources that affect each BSP leaf; 
 determining which BSP leaves are visible; 
 determining the dynamic light sources that effect each visible BSP leaf and adding those light sources to the list; 
 assigning the light sources to a channel of a shadow mask buffer having a plurality of channels, wherein the assigning step comprising: calculating the amount of overlap between each pair of light sources on the list prioritizing the assigning light sources with high degrees of overlap to different channels from one another; 
 rendering the shadows generated by each light source into its respective channel of the shadow mask buffer; 
 rendering the final 3D computer graphics scene using the shadow mask buffer. 
 
     
     
       11. The method of  claim 10  wherein the determining visibility step uses ZPass. 
     
     
       12. The method of  claim 10  wherein the determining visibility step uses ZFail. 
     
     
       13. The method of  claim 10  wherein the generation of the BSP partition and the creation of the list for the static light sources is precomputed. 
     
     
       14. The method of  claim 10  wherein the step of rendering the final 3D computer graphics scene comprises percentage closer filtering. 
     
     
       15. A computer processor implemented method for rendering shadows from static and dynamic light sources in a 3D computer graphics scene, where the scene has an associated binary space partition (BSP) comprising a number of leaves, and a list identifying the static light sources that affect each of a plurality of the BSP leaves, the method comprising:
 determining which BSP leaves receive light from the dynamic light sources and adding those light sources to the list entry for those BSP leaves; 
 assigning each of the light sources on the list to a channel in a shadow mask buffer, wherein the shadow mask buffer has a plurality of channels, the assigning step comprising: 
 calculating the amount of overlap between each pair of light sources on the list; prioritizing the assigning light sources with high degrees of overlap to different channels from one another; 
 generating shadows cast by each light source and accumulating the results into the light source's assigned channel; 
 generating the final 3D computer graphics scene using the shadow mask.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.