IP Library Granted Patent US 11,908,062
Granted Patent B2
US 11,908,062 · App. 17/630,145 · Granted Feb 20, 2024

Efficient real-time shadow rendering

Inventor: Bo Li (Montreal, CA)
Assignee: WARNER BROS. ENTERTAINMENT INC.
G06T15/005G06T1/60G06T9/00G06T15/60G06T2210/36G06T2215/12
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 11,908,062
App. No.
17/630,145
Granted
Feb 20, 2024
Kind
B2
Abstract

A method for real-time shadow rendering using cached shadow maps and deferred shading by a video processor of a game console or the like includes, for at least each key frame of video output, determining a viewpoint for a current key frame based on user input, filtering a texel of a frame-specific shadow map based on a dynamic mask wherein the texel is filtered, for a shadowed light, from a static shadow map and a dynamic shadow map or from the static shadow map only, based on the dynamic mask value for the texel, and rendering the current key frame based on the frame-specific shadow map and a deferred-shadow rendering algorithm. The method enables efficient rendering of thousands of shadowed lights in large environments by consumer-grade game consoles.

Claims (28)

1. A computer-implemented method for real-time shadow rendering using cached shadow maps and deferred shading, the method comprising, for at least each key frame of video output:

determining, by one or more processors, a viewpoint for a current key frame based on user input;

filtering, by the one or more processors, a texel of a frame-specific shadow map based on a dynamic mask wherein the texel is filtered, for a shadowed light, from a static shadow map and a dynamic shadow map or from the static shadow map only, based on the dynamic mask value for the texel; and

rendering, by the one or more processors, the current key frame based on the frame-specific shadow map and a deferred-shadow rendering algorithm.

2. The method of claim 1 , further comprising selecting, by the one or more processors, the static shadow map from a tiled compute shader thread group.

3. The method of claim 2 , wherein the tiled compute shader thread group comprises pre-allocated discrete shadow textures at different resolutions for the shadowed light, and the selecting chooses one of the pre-allocated discrete shadow textures having a resolution equal to or less than a resolution that provides a pixel-texel projection ratio of 1:1 for a rendered pixel of the current key frame.

4. The method of claim 2 , wherein the tiled compute shader thread group includes a bindless shadow map table.

5. The method of claim 1 , wherein the static shadow map is compressed by quantization of depth values and depth planes in texture space.

6. The method of claim 1 , further comprising generating, by the one or more processors, the dynamic shadow map for the current key frame.

7. The method of claim 1 , further comprising generating, by the one or more processors, the dynamic shadow mask for the current key frame.

8. The method of claim 7 , wherein generating the dynamic shadow mask comprises extrapolating, by the one or more processors, an offset for conservative rasterization.

9. The method of claim 1 , wherein the filtering comprises decompressing, by the one or more processors, the dynamic shadow map only for texels indicated by the dynamic shadow mask.

10. The method of claim 1 , wherein the one or more processors are in a graphics processing unit (GPU).

11. An apparatus for real-time shadow rendering using cached shadow maps and deferred shading, the apparatus comprising at least one processor coupled to a memory, the memory holding program instructions that when executed by the at least one processor cause the apparatus to perform for at least each key frame of video output:

determining a viewpoint for a current key frame based on user input;

filtering texels of a frame-specific shadow map based on a dynamic mask wherein the texels are filtered, for a shadowed light, from a static shadow map and a dynamic shadow map or from the static shadow map only, based on the dynamic mask value for the texels; and

rendering the current key frame based on the frame-specific shadow map and a deferred-shadow rendering algorithm.

12. A computer-implemented method for generating a tiled compute shader thread group for real-time shadow rendering using cached shadow maps and deferred shading, the method comprising:

allocating, by one or more processors, discrete shadow maps at different resolutions for modeled lights of a three-dimensional (3D) model;

compressing, by the one or more processors, the discrete shadow maps by quantizing texels thereof; and

arranging, by the one or more processors, the discrete shadow maps in a data structure for use in runtime rendering.

13. The method of claim 12 , wherein the data structure enables use of the discrete shadow maps in a tiled compute shader thread group during the runtime rendering by a graphics processing unit (GPU).

14. The method of claim 12 , wherein the allocating further comprises, by the one or more processors, tiling the discrete shadow maps into tiles.

15. The method of claim 14 , wherein at least one of the tiles is 32 texels square.

16. The method of claim 14 , wherein the compressing further comprises, by the one or more processors, compressing at least one of the tiles using a quantization scheme comprising compressing 2×2 texel squares of at least one of the tiles into 256 compressed quads indexed by single-byte indices for nodes of a sparse QuadTree.

17. The method of claim 14 , wherein the compressing further comprises, by the one or more processors, compressing at least one of the tiles using a quantization scheme comprising encoding texel values truncated to one of 32-bit lossy XYZ plane values or 32-bit float4 values with a shared floating-point exponent.

18. The method of claim 14 , wherein the arranging further comprises, by the one or more processors, sorting the compressed quads within the tiles in order by depth plane and encoding the compressed quads in the order in a sparse record.

19. The method of claim 18 , wherein the arranging further comprises, by the one or more processors, generating single-byte indices for tree nodes of the compact record based on 256 compressed quads making up at least one of the tiles.

Assignments (2)
SECURITY INTEREST Recorded Oct 1, 2025
From: WARNER BROS. DISCOVERY, INC.; WARNER MEDIA, LLC; TURNER BROADCASTING SYSTEM, INC.; HOME BOX OFFICE, INC.; DISCOVERY COMMUNICATIONS, LLC; WARNERMEDIA DIRECT LLC; DISCOVERY.COM LLC; WARNER BROS. ENTERTAINMENT INC.; CNN INTERACTIVE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072995/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2024
From: LI, BO
To: WARNER BROS. ENTERTAINMENT INC.
Reel/Frame 066035/0937 →