IP Library › Granted Patent US 12,198,267
Granted Patent B1
US 12,198,267 · App. 17/702,011 · Granted Jan 14, 2025

Generating a shadow based on a spherical gaussian lobe

Inventor: Gabor Nagy (San Mateo, CA)
Assignee: APPLE INC.
G06T15/60G06T15/06
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 12,198,267
App. No.
17/702,011
Granted
Jan 14, 2025
Kind
B1
Abstract

A method is performed at an electronic device including one or more processors and a non-transitory memory. The method includes obtaining a first spherical Gaussian (SG) lobe that characterizes ambient light from a physical environment. The method may include determining the first SG lobe based on a 360 degree image of the physical environment. The first SG lobe indicates a first directional characteristic associated with the ambient light. The method includes determining a first plurality of sampling rays based on the first directional characteristic. The method includes obtaining a depth value that is associated with a computer-generated object. The depth value may be from a depth buffer, which is populated with the depth value during rendering of the computer-generated object. The method includes generating a shadow that is associated with the computer-generated object, based on the depth value and a first sampling ray of the first plurality of sampling rays.

Claims (51)

1. A method comprising:

at an electronic device including one or more processors and a non-transitory memory:

obtaining a first spherical Gaussian (SG) lobe that characterizes ambient light from a physical environment, wherein the first SG lobe indicates a first directional characteristic associated with the ambient light;

determining a first plurality of sampling rays based on the first directional characteristic;

obtaining a depth value that is associated with a computer-generated object; and

generating a first shadow that is associated with the computer-generated object, based on the depth value and a first sampling ray of the first plurality of sampling rays.

2. The method of claim 1 , wherein the first SG lobe is characterized by an SG function corresponding to G (v; μ; λ; a)=ae λ(μ·v−1) .

3. The method of claim 1 , further comprising:

obtaining image data that represents the physical environment; and

determining the first SG lobe based on the image data.

4. The method of claim 3 , wherein the image data includes a plurality of images associated with a plurality of poses.

5. The method of claim 3 , wherein the image data includes a 360 degree image of the physical environment.

6. The method of claim 1 , wherein each of the first plurality of sampling rays is associated with a distinct position within the first SG lobe.

7. The method of claim 1 , wherein each of the first plurality of sampling rays is substantially parallel to the first SG lobe.

8. The method of claim 1 , wherein the number of the first plurality of sampling rays is proportional to an intensity characteristic indicated by the first SG lobe.

9. The method of claim 1 , wherein the number of the first plurality of sampling rays is based on a sharpness characteristic indicated by the first SG lobe.

10. The method of claim 1 , wherein generating the first shadow includes tracing the first sampling ray against the depth value.

11. The method of claim 1 , wherein the electronic device includes a rendering system and a depth buffer, the method further comprising:

rendering, via the rendering system, the computer-generated object in order to generate an object render, wherein the rendering includes determining the depth value; and

storing the depth value in the depth buffer.

12. The method of claim 11 , wherein generating the first shadow includes retrieving the depth value from the depth buffer.

13. The method of claim 11 , further comprising selecting the first sampling ray according to a determination that the first sampling ray and the object render together satisfy an occlusion criterion.

14. The method of claim 11 , further comprising:

combining the object render with the first shadow in order to generate a combined render;

compositing the combined render with image data of the physical environment, in order to generate display data; and

displaying the display data on a display.

15. The method of claim 1 , wherein generating the first shadow is further based on a second sampling ray of the first plurality of sampling rays.

16. The method of claim 1 , further comprising:

obtaining a second SG lobe that characterizes the ambient light from the physical environment, wherein the second SG lobe indicates a second directional characteristic associated with the ambient light, and wherein the first directional characteristic is different from the second directional characteristic; and

determining a second plurality of sampling rays based on the second directional characteristic;

wherein generating the first shadow is further based on a first sampling ray of the second plurality of sampling rays.

17. The method of claim 1 , wherein the first directional characteristic is associated with a first portion of the ambient light from a first physical light source, the method further comprising:

obtaining a second SG lobe that characterizes the ambient light from the physical environment, wherein the second SG lobe indicates a second directional characteristic associated with the ambient light, and wherein the second directional characteristic is associated with a second portion of the ambient light from a second physical light source that is different from the first physical light source;

determining a second plurality of sampling rays based on the second directional characteristic; and

generating a second shadow that is associated with the computer-generated object, based on the depth value and a first sampling ray of the second plurality of sampling rays.

18. An electronic device comprising:

a sampling ray generator to:

obtain a first SG lobe that characterizes ambient light from a physical environment, wherein the first SG lobe indicates a first directional characteristic associated with the ambient light; and

determine a first plurality of sampling rays based on the first directional characteristic; and

a shadow drawer to:

obtain a depth value that is associated with a computer-generated object; and

determine a first shadow that is associated with the computer-generated object, based on the depth value and a first sampling ray, of the first plurality of sampling rays, from the sampling ray generator.

19. The electronic device of claim 18 , wherein the electronic device further comprises:

a rendering system to render the computer-generated object in order to determine the depth value; and

a depth buffer to store the depth value.

20. The electronic device of claim 19 , wherein the shadow drawer obtains the depth value from the depth buffer.

21. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by an electronic device, cause the electronic device to:

obtain a first SG lobe that characterizes ambient light from a physical environment, wherein the first SG lobe indicates a first directional characteristic associated with the ambient light;

determine a first plurality of sampling rays based on the first directional characteristic;

obtain a depth value that is associated with a computer-generated object; and

generate a first shadow that is associated with the computer-generated object, based on the depth value and a first sampling ray of the first plurality of sampling rays.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2022
From: NAGY, GABOR
To: APPLE INC.
Reel/Frame 059375/0700 →
Continuity (1)
Provisional Application 63188260 · May 13, 2021
References Cited (17)
US 9626794B2 · Tokuyoshi · 2017 [cited by applicant]
US 10679046B1 · Black · 2020 [cited by examiner]
US 20090115784A1 · Tomite · 2009 [cited by examiner]
US 20160005217A1 · Tokuyoshi · 2016 [cited by examiner]
US 20210065440A1 · Sunkavalli et al. · 2021 [cited by applicant]
US 20210090338A1 · Chen · 2021 [cited by examiner]
US 20210279948A1 · Hou · 2021 [cited by examiner]
US 20230140460A1 · Munkberg · 2023 [cited by examiner]
WO 2018046398A1 · 2018 [cited by applicant]
Legendre et al., Learning Illumination from Diverse Portraits, pp. 1-14 (Year: 2020). [cited by examiner]
The Danger Zone, Approximating Subsurface Scattering With Spherical Gaussians, URL: https://therealmjp.github.io/posts/sss-sg/ , Feb. 9, 2020 (Year: 2020). [cited by examiner]
The Danger Zone, SG Series Part 2: Spherical Gaussians 101, URL: https://mynameismjp.wordpress.com/2016/10/09/sg-series-part-2-spherical-gaussians-101/, Oct. 10, 2016 (Year: 2016). [cited by examiner]
Wang et al., All-frequency rendering of dynamic, spatially-varying reflectance, URL: https://dl.acm.org/doi/10.1145/1618452.1618479, 2009 (Year: 2009). [cited by examiner]
Yusuke Tokuyoshi, Virtual Spherical Gaussian Lights for Real-time Glossy Indirect Illumination, Pacific Graphics 2015 (Year: 2015). [cited by examiner]
Currius et al. (Spherical Gaussian Light-field Textures for Fast Precomputed Global Illumination), DOI: 10.1111/cgf.13918, 2020 (Year: 2020). [cited by examiner]
Kun Xu et al., Anisotropic Spherical Gaussians, ACM Transactions on Graphics (TOG), vol. 32, Issue 6 Article No. 209, pp. 1-11, https://doi.org/10.1145/2508363.2508386 (Year: 2013). [cited by examiner]
Furuya et al. “Efficient Calculation Method of Spherical Signed Distance Function for Real-time Rendering of Dynamic Scenes”, SIGGRAPH Asia, 2011, 2 pages. [cited by applicant]