Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
91 views44 pages

GAMES202 实时全局光照1

The document discusses real-time global illumination techniques for 3D scenes. It will cover reflective shadow maps, light propagation volumes, and voxel global illumination. The previous lecture discussed spherical harmonics for glossy transport and wavelets. Homework assignments on PRT and real-time global illumination will be released.

Uploaded by

Chen Pan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
91 views44 pages

GAMES202 实时全局光照1

The document discusses real-time global illumination techniques for 3D scenes. It will cover reflective shadow maps, light propagation volumes, and voxel global illumination. The previous lecture discussed spherical harmonics for glossy transport and wavelets. Homework assignments on PRT and real-time global illumination will be released.

Uploaded by

Chen Pan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

Real-Time High Quality Rendering

GAMES202, Lingqi Yan, UC Santa Barbara

Lecture 7:
Real-Time Global Illumination

(in 3D)
Announcements
• GAMES101 homework submission reopening soon!

- Recruiting graders!

• Homework 2 will be released soon

- Ideally by the end of this week

- Will be about PRT for diffuse scenes

GAMES202 2 Lingqi Yan, UC Santa Barbara


Last Lecture
• Shadow from environment lighting

• Background knowledge

- Frequency and filtering

- Basis functions

• Real-time environment lighting (& global illumination)

- Spherical Harmonics (SH)

- Prefiltered env. lighting

- Precomputed Radiance Transfer (PRT)

GAMES202 3 Lingqi Yan, UC Santa Barbara


Today
• Finishing up

- SH for glossy transport

- Wavelet

• Real-Time Global Illumination (in 3D)

- Reflective Shadow Maps (RSM)

- Light Propagation Volumes (LPV)

- Voxel Global Illumination (VXGI)

GAMES202 4 Lingqi Yan, UC Santa Barbara


Recap: PRT
• Precompute lighting and light transport 

for each individual shading point*

<latexit sha1_base64="5t2yMDUWZwsY7ZlOgsmaBeR5JZ0=">AAAClnicdVFda9swFJXdbuuyj2btS2EvYmHQshHs0WTOw0ZpGetDYRksaSHOjKzIiag+jHQ9CMY/aX+mb/s3k9IUupFeEBydc+7V1b15KbiFKPoThFvbjx4/2Xnaevb8xcvd9qu9sdWVoWxEtdDmKieWCa7YCDgIdlUaRmQu2GV+feb1y1/MWK7VD1iWbCrJXPGCUwKOytq/LzJ9mEoCCyPrsnmPUy3ZnGT6CH/CKVeQ1ek3z/x81+CLjG/y8iNcZGajgu8XTN2FaotTWDDwomfGD1T05rUwa+7orN2JuoNeL4l72IHjJBokHvTjfpTguButooPWMczaN+lM00oyBVQQaydxVMK0JgY4FaxppZVlJaHXZM4mDioimZ3Wq7E2+K1jZrjQxh0FeMXez6iJtHYpc+f0ndr/NU9u0iYVFMm05qqsgCl6+1BRCQwa+x3hGTeMglg6QKjhrldMF8QQCm6TLTeEu5/ih8H4Qzfud6Pvx52T0/U4dtBr9AYdohh9RCfoHA3RCNFgPxgEp8FZeBB+Dr+EX2+tYbDO2Uf/RDj8C5FJyAY=</latexit>

Z
Lo (p, !o ) = Li (p, !i )fr (p, !i , !o ) cos ✓i V (p, !i ) d!i
⌦+

Shading
result Lighting Light transport

GAMES202 5 Lingqi Yan, UC Santa Barbara


Recap: Spherical Harmonics (SH)

• A set of 2D basis functions with different frequencies

• Any 2D function can be projected to SH


<latexit sha1_base64="aexRE9MZ8USV71pbQUnLZXCeBVI=">AAACBHicdVDLSsNAFJ34rPUVddnNYBHqJiSl1HYhlLpxWcE+oAlhMpm0QycPZiZiCV248VfcuFDErR/hzr9xmlZQ0QMXDufcy733eAmjQprmh7ayura+sVnYKm7v7O7t6weHPRGnHJMujlnMBx4ShNGIdCWVjAwSTlDoMdL3Jhdzv39DuKBxdC2nCXFCNIpoQDGSSnL1UlC5PT23RRq6FGKX2tiPJWy7VMmuXjaNZqNqWSbMSbVZWxCzXoOWYeYogyU6rv5u+zFOQxJJzJAQQ8tMpJMhLilmZFa0U0EShCdoRIaKRigkwsnyJ2bwRCk+DGKuKpIwV79PZCgUYhp6qjNEcix+e3PxL2+YyqDhZDRKUkkivFgUpAzKGM4TgT7lBEs2VQRhTtWtEI8RR1iq3IoqhK9P4f+kVzWsumFd1cqt9jKOAiiBY1ABFjgDLXAJOqALMLgDD+AJPGv32qP2or0uWle05cwR+AHt7RNCsZc8</latexit>

X
f (x) = ci · Bi (x)
i
l=0

• Any 2D function can be


l=1

reconstructed from 
 l=2

(a truncated number of) SH l=3

… −2 −1 m=0 1 2 …

GAMES202 6 Lingqi Yan, UC Santa Barbara


PRT (Diffuse Case)
• A slightly different derivation than in the last lecture

• Separately precompute lighting and light transport


<latexit sha1_base64="5t2yMDUWZwsY7ZlOgsmaBeR5JZ0=">AAAClnicdVFda9swFJXdbuuyj2btS2EvYmHQshHs0WTOw0ZpGetDYRksaSHOjKzIiag+jHQ9CMY/aX+mb/s3k9IUupFeEBydc+7V1b15KbiFKPoThFvbjx4/2Xnaevb8xcvd9qu9sdWVoWxEtdDmKieWCa7YCDgIdlUaRmQu2GV+feb1y1/MWK7VD1iWbCrJXPGCUwKOytq/LzJ9mEoCCyPrsnmPUy3ZnGT6CH/CKVeQ1ek3z/x81+CLjG/y8iNcZGajgu8XTN2FaotTWDDwomfGD1T05rUwa+7orN2JuoNeL4l72IHjJBokHvTjfpTguButooPWMczaN+lM00oyBVQQaydxVMK0JgY4FaxppZVlJaHXZM4mDioimZ3Wq7E2+K1jZrjQxh0FeMXez6iJtHYpc+f0ndr/NU9u0iYVFMm05qqsgCl6+1BRCQwa+x3hGTeMglg6QKjhrldMF8QQCm6TLTeEu5/ih8H4Qzfud6Pvx52T0/U4dtBr9AYdohh9RCfoHA3RCNFgPxgEp8FZeBB+Dr+EX2+tYbDO2Uf/RDj8C5FJyAY=</latexit>

Z
Lo (p, !o ) = Li (p, !i )fr (p, !i , !o ) cos ✓i V (p, !i ) d!i
⌦+
<latexit sha1_base64="Fdsi07H3DKgQy+HRS8Fx59s4rFQ=">AAACFXicdVDLSgMxFM3UV62vqks3wSJUkDJTW7W7UjcuXFSwD+iUIZOmbTCZhCQjltKfcOOvuHGhiFvBnX9j+hAf6IELh3POJbknlIxq47rvTmJufmFxKbmcWlldW99Ib27VtYgVJjUsmFDNEGnCaERqhhpGmlIRxENGGuHV6dhvXBOlqYguzUCSNke9iHYpRsZKQfrgPOsLTnoooPvQR1IqcQN9HfNAQmynEsivQJDOuLlS6TBfLMEJKRSKU5L3DqGXcyfIgBmqQfrN7wgccxIZzJDWLc+Vpj1EylDMyCjlx5pIhK9Qj7QsjRAnuj2cXDWCe1bpwK5QdiIDJ+r3jSHiWg94aJMcmb7+7Y3Fv7xWbLon7SGNZGxIhKcPdWMGjYDjimCHKoING1iCsKL2rxD3kULY2CJTtoTPS+H/pJ7PeUc576KQKVdmdSTBDtgFWeCBY1AGZ6AKagCDW3APHsGTc+c8OM/OyzSacGY72+AHnNcPQ/ueTA==</latexit>

X <latexit sha1_base64="QdpMz2sOX9A4EnQC5ywGCMCHwUI=">AAACFXicdVDLSgMxFM3UV62vqks3wSJUkDLTh9pdqRuXFfqCThkyadqGJpNpkhFL6U+48VfcuFDEreDOvzF9iA/0wIXDOeeS3OOHjCpt2+9WbGl5ZXUtvp7Y2Nza3knu7tWViCQmNSyYkE0fKcJoQGqaakaaoSSI+4w0/MHF1G9cE6moCKp6FJI2R72AdilG2khe8qSadgUnPeTRY+iiMJTiBroq4t4QYjNlb/gV8JIpO1Ms5rKFIpyRfL4wJ1knB52MPUMKLFDxkm9uR+CIk0BjhpRqOXao22MkNcWMTBJupEiI8AD1SMvQAHGi2uPZVRN4ZJQO7AppJtBwpn7fGCOu1Ij7JsmR7qvf3lT8y2tFunveHtMgjDQJ8PyhbsSgFnBaEexQSbBmI0MQltT8FeI+kghrU2TClPB5Kfyf1LMZ5zTjXOVTpfKijjg4AIcgDRxwBkrgElRADWBwC+7BI3iy7qwH69l6mUdj1mJnH/yA9foBVimeVw==</latexit>

X
L(!i ) ⇡ cp Bp (!i ) T (!i ) ⇡ cq Bq (!i )
p q

lighting basis light transport basis


coefficient function coefficient function

GAMES202 7 Lingqi Yan, UC Santa Barbara


PRT (Diffuse Case)
<latexit sha1_base64="5t2yMDUWZwsY7ZlOgsmaBeR5JZ0=">AAAClnicdVFda9swFJXdbuuyj2btS2EvYmHQshHs0WTOw0ZpGetDYRksaSHOjKzIiag+jHQ9CMY/aX+mb/s3k9IUupFeEBydc+7V1b15KbiFKPoThFvbjx4/2Xnaevb8xcvd9qu9sdWVoWxEtdDmKieWCa7YCDgIdlUaRmQu2GV+feb1y1/MWK7VD1iWbCrJXPGCUwKOytq/LzJ9mEoCCyPrsnmPUy3ZnGT6CH/CKVeQ1ek3z/x81+CLjG/y8iNcZGajgu8XTN2FaotTWDDwomfGD1T05rUwa+7orN2JuoNeL4l72IHjJBokHvTjfpTguButooPWMczaN+lM00oyBVQQaydxVMK0JgY4FaxppZVlJaHXZM4mDioimZ3Wq7E2+K1jZrjQxh0FeMXez6iJtHYpc+f0ndr/NU9u0iYVFMm05qqsgCl6+1BRCQwa+x3hGTeMglg6QKjhrldMF8QQCm6TLTeEu5/ih8H4Qzfud6Pvx52T0/U4dtBr9AYdohh9RCfoHA3RCNFgPxgEp8FZeBB+Dr+EX2+tYbDO2Uf/RDj8C5FJyAY=</latexit>

Z
Lo (p, !o ) = Li (p, !i )fr (p, !i , !o ) cos ✓i V (p, !i ) d!i
⌦+
<latexit sha1_base64="P6o6KABmbzbx+yr9eu9xI0ENgfU=">AAACQXicdVBLSwMxEM76rPVV9eglWISKUnZ9VHsQil68qWBtoVuXbJptg0l2m2SFsvSvefEfePPuxYMiXr2YbSs+0IEw3/fNDDP5/IhRpW37wRobn5icms7MZGfn5hcWc0vLlyqMJSZVHLJQ1n2kCKOCVDXVjNQjSRD3Gan518dpvXZDpKKhuNC9iDQ5agsaUIy0kbxc/RC6KuZeNExdiA3EJrtUaC9xTzlpo6vNPjzyooIbpsyjG4Z1v5i7BV2OdEfypNX/VL1c3i6Wy7vbdhkOwE55bwic0g50ivYg8mAUZ17u3m2FOOZEaMyQUg3HjnQzQVJTzEg/68aKRAhfozZpGCgQJ6qZDBzow3WjtGAQSvOEhgP1+0SCuFI97pvO9FL1u5aKf9UasQ4OmgkVUayJwMNFQcygDmFqJ2xRSbBmPQMQltTcCnEHSYS1MT1rTPj8KfwfXG4XnVLROd/NV45GdmTAKlgDBeCAfVABJ+AMVAEGt+ARPIMX6856sl6tt2HrmDWaWQE/wnr/APtZsA0=</latexit>

XX Z
= cp cq Bp (!i )Bq (!i ) d!i
p q ⌦+

X

<latexit sha1_base64="Fdsi07H3DKgQy+HRS8Fx59s4rFQ=">AAACFXicdVDLSgMxFM3UV62vqks3wSJUkDJTW7W7UjcuXFSwD+iUIZOmbTCZhCQjltKfcOOvuHGhiFvBnX9j+hAf6IELh3POJbknlIxq47rvTmJufmFxKbmcWlldW99Ib27VtYgVJjUsmFDNEGnCaERqhhpGmlIRxENGGuHV6dhvXBOlqYguzUCSNke9iHYpRsZKQfrgPOsLTnoooPvQR1IqcQN9HfNAQmynEsivQJDOuLlS6TBfLMEJKRSKU5L3DqGXcyfIgBmqQfrN7wgccxIZzJDWLc+Vpj1EylDMyCjlx5pIhK9Qj7QsjRAnuj2cXDWCe1bpwK5QdiIDJ+r3jSHiWg94aJMcmb7+7Y3Fv7xWbLon7SGNZGxIhKcPdWMGjYDjimCHKoING1iCsKL2rxD3kULY2CJTtoTPS+H/pJ7PeUc576KQKVdmdSTBDtgFWeCBY1AGZ6AKagCDW3APHsGTc+c8OM/OyzSacGY72+AHnNcPQ/ueTA==</latexit>

Why is it a dot product? (This seems to 
 L(!i ) ⇡ cp Bp (!i )


be O(n 2) rather than O(n)?)

p
<latexit sha1_base64="QdpMz2sOX9A4EnQC5ywGCMCHwUI=">AAACFXicdVDLSgMxFM3UV62vqks3wSJUkDLTh9pdqRuXFfqCThkyadqGJpNpkhFL6U+48VfcuFDEreDOvzF9iA/0wIXDOeeS3OOHjCpt2+9WbGl5ZXUtvp7Y2Nza3knu7tWViCQmNSyYkE0fKcJoQGqaakaaoSSI+4w0/MHF1G9cE6moCKp6FJI2R72AdilG2khe8qSadgUnPeTRY+iiMJTiBroq4t4QYjNlb/gV8JIpO1Ms5rKFIpyRfL4wJ1knB52MPUMKLFDxkm9uR+CIk0BjhpRqOXao22MkNcWMTBJupEiI8AD1SMvQAHGi2uPZVRN4ZJQO7AppJtBwpn7fGCOu1Ij7JsmR7qvf3lT8y2tFunveHtMgjDQJ8PyhbsSgFnBaEexQSbBmI0MQltT8FeI+kghrU2TClPB5Kfyf1LMZ5zTjXOVTpfKijjg4AIcgDRxwBkrgElRADWBwC+7BI3iy7qwH69l6mUdj1mJnH/yA9foBVimeVw==</latexit>

X
T (!i ) ⇡ cq Bq (!i )
- Hint: a property of SH q

GAMES202 8 Lingqi Yan, UC Santa Barbara


Glossy Case

𝐿(𝐨) = 𝐿(𝐢)𝑉(𝐢)𝜌(𝐢, 𝐨)max(0,𝒏 ⋅ 𝐢)d𝐢
Ω

𝑇𝑖(𝐨) ≈ 𝑡𝑖𝑗𝐵𝑗(𝐨)

𝐿(𝐨) ≈ 𝑙𝑖𝑇𝑖(𝐨)
transport basis
matrix function
∑ (∑
𝐿(𝐨) ≈ 𝑙𝑖𝑡𝑖𝑗)𝐵𝑗(𝐨)

reflected radiance
light coefficient
coefficient
≈ ∗ transport
matrix

⦿ Rendering: vector-matrix multiplication


Time Complexity
⦿ #SH Basis : 9/16/25
⦿ Diffuse Rendering
● At each point: dot-product of size 16
⦿ Glossy Rendering
● At each point: vector(16) * matrix (16*16)
Glossy Rendering Results

No Shadows/Inter Shadows Shadows+Inter


• Glossy object, 50K mesh
• Runs at 3.6 fps on 2.2Ghz P4, ATI Radeon 8500
Interreflections and Caustics
interreflections

none 1 bounce 2 bounces


Transport Paths
LE LGE
L(D|G)*E LS*(D|G)*E
Runtime is independent
of transport complexity
caustics
Recall: Precomp. of light transport

light transport 𝑇 ≈
𝑖 B𝑖(𝐢)𝑉(𝐢)max(0,𝒏 ⋅ 𝐢)d𝐢
Ω
⦿ Just regular computation with some weird lighting
..
.
Basis 16

Basis 17 illuminate result

Basis 18
..
.
Arbitrary BRDF Results

Anisotropic BRDFs Other BRDFs Spatially Varying


Results
Summary of [Sloan 02]
⦿ Approximate Lighting and light transport
using basis functions (SH)
● Lighting -> lighting coefficients
● light transport -> coefficients / matrices
⦿ Precompute and store light transport
⦿ Rendering reduced to:
● Diffuse: dot product
● Glossy: vector matrix multiplication
Limitations [Sloan 02]
⦿ Low-frequency
● Due to the nature of SH
⦿ Dynamic lighting, but static scene/material
● Changing scene/material invalidates
precomputed light transport
⦿ Big precomputation data
Follow up works
⦿ More basis functions
⦿ dot product => triple products
⦿ Static scene => dynamic scene
⦿ Fix material => dynamic material
⦿ Other effects: translucent, hair, …
⦿ Precomputation => analytic computation
⦿ …
More basis functions
⦿ Spherical Harmonics (SH)
⦿ Wavelet
⦿ Zonal Harmonics
⦿ Spherical Gaussian (SG)
⦿ Piecewise Constant
Wavelet [Ng 03]
⦿ 2D Haar wavelet

⦿ Projection:
● Wavelet Transformation
● Retain a small number of
non-zero coefficients

⦿ A non-linear
approximation
⦿ All-frequency representation
Non-linear Wavelet Light
Approximation

Wavelet Transform
Non-linear Wavelet Light
Approximation
⎡ L01 ⎤⎤
⎢ L ⎥⎥ Non-linear
⎢ 2 ⎥⎥ Approximation
⎢ L03 ⎥⎥
⎢ ⎥⎥
L0
⎢ 4 ⎥⎥
⎢ L05 ⎥⎥
⎢ ⎥⎥
⎢ L6 ⎥⎥
⎢ !⎥⎥
⎢ ⎥⎥
⎢⎣ L0N ⎥⎦⎥⎦
Retain 0.1% – 1% terms
low frequency vs all frequency
Teapot in Grace Cathedral

Low frequency (SH) All frequency (Wavelet)


My First Paper
• Accurate Translucent Material Rendering under Spherical
Gaussian Lights

• Pacific Graphics 2012

GAMES202 24 Lingqi Yan, UC Santa Barbara


Questions?
Today
• Finishing up

- SH for glossy transport

- Wavelet

• Real-Time Global Illumination (in 3D)

- Reflective Shadow Maps (RSM)

- Light Propagation Volumes (LPV)

- Voxel Global Illumination (VXGI)

GAMES202 26 Lingqi Yan, UC Santa Barbara


Introduction
• Global Illumination (GI) is important but complex

[Ritschel et al., The State of the Art in Interactive Global Illumination]

GAMES202 27 Lingqi Yan, UC Santa Barbara


Introduction
• In RTR, people seek simple and fast solutions

to one bounce indirect illumination

[Image courtesy of Prof. Henrik Wann Jensen]


GAMES202 28 Lingqi Yan, UC Santa Barbara
Understanding
• From GAMES101 (Lecture 16): 

Any directly lit surface will act as a light source again

[Image courtesy of Prof. Henrik Wann Jensen]


GAMES202 29 Lingqi Yan, UC Santa Barbara
p

Direct illumination
p

One-bounce global illumination (dir+indir)


Key Observations

• What are needed to illuminate any point p with 



indirect illumination?

• Q1: Which surface patches are directly lit

- Hint: what technique tells you this?

• Q2: What is the contribution from each surface patch to p

- Then sum up all the surface patches’ contributions

- Hint: each surface patch is like an area light

GAMES202 32 Lingqi Yan, UC Santa Barbara


Reflective Shadow Maps (RSM)
• Q1: Which surface patches are directly lit

- Perfectly solved with a classic shadow map

- Each pixel on the shadow map is a small surface patch

• The exact outgoing radiance for each pixel is known

- But only for the direction to the camera

• Assumption

- Any reflector is diffuse

- Therefore, outgoing radiance is uniform toward all directions

GAMES202 33 Lingqi Yan, UC Santa Barbara


Recall: Light Measurements of
Interest

Light Emitted Light Falling Light Traveling


From A Source On A Surface Along A Ray

“Radiant Intensity” “Irradiance” “Radiance”

GAMES202 34 Lingqi Yan, UC Santa Barbara


Reflective Shadow Maps (RSM)
• Q2: What is the contribution from each surface patch to p

- An integration over the solid angle covered by the patch

- Can be converted to the integration on the area of the patch

GAMES202 35 Lingqi Yan, UC Santa Barbara


Reflective Shadow Maps (RSM)
<latexit sha1_base64="Sqj0/SzxSzKFKBKg/L5Q6T4sPbM=">AAACpXicdVHLahsxFNVMX6n7ctplNyKmNIFgZvJqvQiEdpNFSpMSOwHLCI2ssUX0GKQ7ATPMn/UruuvfVDN2SlqcC4LDOfdwr87NCiU9JMnvKH70+MnTZxvPOy9evnr9prv5duRt6bgYcqusu86YF0oaMQQJSlwXTjCdKXGV3Xxt9Ktb4by05hIWhZhoNjMyl5xBoGj35xm120QzmDtdFfUuJlaLGaN2Bx9jIg3QinxvmepvFwM+r+san1G5zip3MNnFoweknLq1Cr4/OvgJtx4TmAtoxJZZuab1nYd2e0l/MDjYSwa4BfuDwyVIj/Zx2k/a6qFVndPuLzK1vNTCAFfM+3GaFDCpmAPJlag7pPSiYPyGzcQ4QMO08JOqTbnGHwIzxbl14RnALXvfUTHt/UJnobPZ1P+vNeQ6bVxC/nlSSVOUIAxfDspLhcHi5mR4Kp3goBYBMO5k2BXzOXOMQzhsJ4Rw91P8MBjt9dOjfnpx0Dv5sopjA71HW2gbpegTOkGn6BwNEY+2otPoIvoRf4y/xZfxaNkaRyvPO/RPxfQPiPbPWw==</latexit>

Z
Lo (p, !o ) = Li (p, !i ) V (p, !i )fr (p, !i , !o ) cos ✓i d!i
⌦patch
Z
cos ✓p cos ✓q
<latexit sha1_base64="ZB962qREjfZek9ZOPg5rQi2iT5g=">AAACx3icfVFNbxMxEPUuXyV8BThyGREhJVKJdtNSyAGpBQ4gcSgSSSvFYeV1vFnT3fXGni1EKx/4i9y48FtwNmlpETCSpTfvzRvbM3GZSYNB8MPzr1y9dv3G1s3Wrdt37t5r338wNqrSXIy4ypQ+jpkRmSzECCVm4rjUguVxJo7ik9cr/ehUaCNV8RGXpZjmbF7IRHKGjoraP18ClQVG9UFU05xhqvO6ZMhTay28j2T3jFxYquU8Raa1+nJeaXt0G8bd3/k2UJWLOYtkD5JIX1b+3+rcqnrgutJEM15TrgxQTAWyqAS4mC5sTcdCIyyelg34NLDQODctZ/YganeC/nC4OwiG0ICd4bM1CPd2IOwHTXTIJg6j9nc6U7zKRYE8Y8ZMwqDEac00Sp4J26KVESXjJ2wuJg4WLBdmWjd7sPDEMTNIlHanQGjYi46a5cYs89hVrp5o/tRW5N+0SYXJi2kti7JCUfD1RUmVASpYLRVmUguO2dIBxrV0bwWeMjc/dKtvuSGc/RT+DcaDfrjXDz/sdvZfbcaxRR6Rx6RLQvKc7JO35JCMCPfeeJ8946H/zlf+qf91Xep7G89Dcin8b78AkJHgnw==</latexit>

= Li (q ! p) V (p, !i )fr (p, q ! p, !o ) 2


dA
Apatch kq pk

• For a diffuse reflective patch

- fr = ρ/π
Φ
- Li = fr ⋅ dA (Φ is the incident flux or energy)
- Therefore,

->2

GAMES202 36 Lingqi Yan, UC Santa Barbara


Reflective Shadow Maps (RSM)

• Not all pixels in the RSM can contribute

- Visibility (still, difficult to deal with)

- Orientation

- Distance

GAMES202 37 Lingqi Yan, UC Santa Barbara


Reflective Shadow Maps (RSM)
• Acceleration

- In theory, all pixels in the shadow map can contribute to p

- Can we decrease the number?

- Hint: Steps 1 and 3 in PCSS

• Sampling to the rescue

GAMES202 38 Lingqi Yan, UC Santa Barbara


Reflective Shadow Maps (RSM)

• What is needed to record in an RSM?

- Depth, world coordinate, normal, flux, etc.

GAMES202 39 Lingqi Yan, UC Santa Barbara


Reflective Shadow Maps (RSM)
• Often used for flashlights in video games

- Gears of War 4, Uncharted 4, The Last of US, etc.

https://www.gdcvault.com/play/1020475/In-Game-and-Cinematic-Lighting
GAMES202 40 Lingqi Yan, UC Santa Barbara
Reflective Shadow Maps (RSM)

• Pros

- Easy to implement

• Cons

- Performance scales linearly w/ #lights

- No visibility check for indirect illumination

- Many assumptions: diffuse reflectors, depth as distance, etc.

- Sampling rate / quality tradeoff

GAMES202 41 Lingqi Yan, UC Santa Barbara


Questions?
Next Lecture
• Real-time global illumination cont.

- In 3D (VXGI)

- In the image space (SSAO, SSDO, SSR, etc.)

[SSDO] [VXGI by NVIDIA]

GAMES202 54 Lingqi Yan, UC Santa Barbara


Thank you!

You might also like