IP Library › Granted Patent US 9,761,001
Granted Patent B2
US 9,761,001 · App. 14/575,197 · Granted Sep 12, 2017

Filtered shadow mapping

Inventors: Magnus Andersson (Helsingborg, SE); Jon N. Hasselgren (Bunkeflostrand, SE); Carl J. Munkberg (Malmo, SE); Tomas Akenine-Moller (Lund, SE)
Assignee: Intel Corporation
G06T7/0071G06T11/40G06T13/20G06T15/04G06T15/60G06T2215/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 9,761,001
App. No.
14/575,197
Granted
Sep 12, 2017
Kind
B2
Abstract

A layered, filtered shadow mapping algorithm may be used for motion blurred shadows. The algorithm is divided into two passes, namely a shadow pass and a lighting pass. The shadow pass renders the scene using stochastic rasterization and generates a time-dependent shadow map augmented with per-sample motion vectors. The subsequent lighting pass renders the scene from the camera's point of view, and performs a shadow query for each sample seen from the camera.

Claims (42)

1. A method comprising:

splitting shadow map samples into screen space tiles;

splitting one of said screen space tiles into depth layers;

calculating an average motion vector for one of said depth layers;

reprojecting samples within the one of said depth layers along the average motion vector to a common time; and

generating a depiction for display of motion blurred shadows using said reprojected samples.

2. The method of claim 1 including, at shadow lookup, using said reprojected samples offset by the average motion vector.

3. The method of claim 1 including stochastically rasterizing in light space.

4. The method of claim 1 including clustering samples in the screen space tiles by depth, to form a set of depth layers of samples.

5. The method of claim 4 including computing said average motion vector of said depth layer by computing an average motion vector of the samples falling in that depth layer.

6. The method of claim 1 wherein reprojecting includes stretching the samples within said depth layer in a direction of the average motion vector.

7. The method of claim 6 including stretching by a scaling factor that is a function of an initial size of the samples and a magnitude of the average motion vector.

8. The method of claim 1 including computing opacity and depth contribution of a sample to a shadow map texel.

9. The method of claim 8 including obtaining a depth value using the opacity, and a filterable variance shadow map representation with first and second depth moments.

10. The method of claim 9 including determining final visibility by compositing the depth layers together based on the opacity.

11. One or more non-transitory computer readable media storing instructions executed to perform a sequence comprising:

splitting shadow map samples into screen space tiles;

splitting a screen space tiles into depth layers;

calculating an average motion vector for one of said depth layers;

reprojecting samples within the one of said depth layers along the average motion vector to a common time; and

generating a depiction for display of motion blurred shadows using said reprojected samples.

12. The media of claim 11 , said sequence including, at shadow lookup, using said reprojected samples offset by the average motion vector.

13. The media of claim 11 , said sequence including stochastically rasterizing in light space.

14. The media of claim 11 , said sequence including clustering samples in screen space tiles by depth, to form a set of depth layers of samples.

15. The media of claim 14 , said sequence including computing said average motion vector of said depth layer by computing an average motion vector of the samples falling in that depth layer.

16. The media of claim 11 wherein reprojecting includes stretching the samples within said depth layer in a direction of the average motion vector.

17. The media of claim 16 , said sequence including stretching by a scaling factor that is a function of an initial size of the samples and a magnitude of the average motion vector.

18. The media of claim 11 , said sequence including computing opacity and depth contribution of a sample to a shadow map texel.

19. The media of claim 18 , said sequence including obtaining a depth value using the opacity, and a filterable variance shadow map representation with first and second depth moments.

20. The media of claim 19 , said sequence including determining final visibility by compositing the depth layers together based on the opacity.

21. An apparatus comprising:

a hardware processor to split shadow map samples into screen space tiles, split a screen space tiles into depth layers, calculate an average motion vector for one of said depth layers, reproject samples within the one of said depth layers along the average motion vector to a common time, and generate a depiction for display of motion blurred shadows using said reprojected samples; and

a storage coupled to said processor.

22. The apparatus of claim 21 , said processor to at shadow lookup, using said reprojected samples offset by the average motion vector.

23. The apparatus of claim 21 , said processor to stochastically rasterize in light space.

24. The apparatus of claim 21 , said processor to cluster samples in the screen space tiles by depth, to form a set of depth layers of samples.

25. The apparatus of claim 24 , said processor to compute said average motion vector of the depth layer by computing an average motion vector of the samples falling in that depth layer.

26. The apparatus of claim 21 , said processor to stretch the samples within said depth layer in a direction of the average motion vector.

27. The apparatus of claim 26 , said processor to stretch by a scaling factor that is a function of an initial size of the samples and a magnitude of the average motion vector.

28. The apparatus of claim 21 , said processor to compute opacity and depth contribution of a sample to a shadow map texel.

29. The apparatus of claim 28 , said processor to obtain a depth value using the opacity, and a filterable variance shadow map representation with first and second depth moments.

30. The apparatus of claim 29 , said processor to determine final visibility by compositing the depth layers together based on the opacity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2014
From: ANDERSSON, MAGNUS; HASSELGREN, JON N.; MUNKBERG, CARL J.; AKENINE-MOLLER, TOMAS G.
To: INTEL CORPORATION
Reel/Frame 034548/0375 →
Continuity (2)
Provisional Application 62055038 · Sep 25, 2014
Related Publication 20160093098A1 · Mar 31, 2016