Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view...
Transcript of Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view...
![Page 1: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/1.jpg)
1
Perspective Shadow MapsMarc Stamminger, University of Erlangen-Nuremberg
Shadow Map AliasingShadow Map Aliasing
• in particular for large scenes• shadow maps impossible
for infinite scenes
![Page 2: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/2.jpg)
2
Shadow Map AliasingShadow Map Aliasing
• perspective aliasingparallel light
projected shadow mappixel small in image
→ no perspective aliasing
shadow map
shadow mappixel #1
shadow mappixel #2
shadowmap pixelprojection
projected shadow mappixel large in image
→ perspective aliasing
Shadow Map AliasingShadow Map Aliasing
• perspective aliasing– view dependent
parallel light
okay aliasedaliased okay
![Page 3: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/3.jpg)
3
Shadow Map AliasingShadow Map Aliasing
• perspective aliasing– view dependent– close to camera: perspective aliasing– distant regions: oversampling
alia
sed
o
vers
ampl
ed
Shadow Map AliasingShadow Map Aliasing
• projection aliasing– depends on angle of light incidence– very local parallel light
![Page 4: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/4.jpg)
4
Shadow Map AliasingShadow Map Aliasing
• projection aliasing– very local
alia
sed
oka
y
Perspective Shadow MapsPerspective Shadow Maps
• Idea:– generate and apply shadow map in post-
perspective space (clip space)– „Perspective Shadow Maps“ see the world
after the perspective projection→ account for perspective aliasing→ cannot account for projective aliasing
![Page 5: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/5.jpg)
5
Post-Perspective SpacePost-Perspective Space
• perspective transformation (gluPerspective)
post
-per
spec
tive
wor
ld s
pace
Post-Perspective SpacePost-Perspective Space
• properties of perspective transformation
camera view view frustum from side
![Page 6: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/6.jpg)
6
Post-Perspective SpacePost-Perspective Space
• properties of perspective transformation
view frustum from side after perspective transformation
Post-Perspective SpacePost-Perspective Space
• properties of perspective transformation
• demo:– rotate object– move object forwards/backwards– change field of view– change near/far value PERSPECTIVE
demoapplication
![Page 7: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/7.jpg)
7
Post-Perspective SpacePost-Perspective Space
• properties of perspective transformation– objects close to camera
are enlarged– distant objects are shrunk
camera
Post-Perspective SpacePost-Perspective Space
• properties of perspective transformation– non-linear mapping:
z → 1 - 1/z– near-value critical!– too little near value
• post-perspective cubemostly empty
• waste of depth precision– far value not critical
• little influence• can become infinity!
near = 1
near = 0.3
![Page 8: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/8.jpg)
8
Post-Perspective SpacePost-Perspective Space
camera
camera
• properties of perspectivetransformation– camera rays become parallel!– camera moved to infinity
Post-Perspective SpacePost-Perspective Space
• vice versa:– infinite points can be mapped to finite ones– parallel lights become point lights
![Page 9: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/9.jpg)
9
PSM ideaPSM idea
• uniform shadow map • perspective shadow map
post-perspectiveworld space
Perspective Shadow MapsPerspective Shadow Maps
• standard shadow map • perspective shadow map
![Page 10: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/10.jpg)
10
Perspective Shadow MapsPerspective Shadow Maps
• standard shadow map– sees normal world
• perspective shadow map– sees world in post-
perspective spaceview frustum
Perspective Shadow MapsPerspective Shadow Maps
• standard shadow map– perspective aliasing
close to camera– oversampling in
distant regions
• perspective shadow map– uniform perspective
aliasing over entire frustum
alia
sed
o
vers
ampl
ed
![Page 11: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/11.jpg)
11
Parallel Light TransformationParallel Light Transformationpo
st-p
ersp
ectiv
e
w
orld
spa
ce
Point Light TransformationPoint Light Transformation
post
-per
spec
tive
wor
ld s
pace
![Page 12: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/12.jpg)
12
Point Light TransformationPoint Light Transformation
DiscussionDiscussion
• ideal case:parallel light in post-perspective space(→ no perspective aliasing)– directional light parallel
to image plane– point light in camera
plane (miner’s lamp)
![Page 13: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/13.jpg)
13
DiscussionDiscussion
• worst case:point light in post-perspective spaceclose to unit cube(→ severe new distortions)– e.g. parallel light from
front or behind
ResultsResults
![Page 14: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/14.jpg)
14
Problems of original paperProblems of original paper
• robustness– quality changes for moving lights/camera– „swimming“ shadows– depth bias– constructions of original paper lead to
singularities– idea is simple, but robust implementation
awkward
Issues and extensionsIssues and extensions
• camera near/far selection• shadows from the back• deep light sources• usage of cube maps• generalization
![Page 15: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/15.jpg)
15
Near/Far SelectionNear/Far Selection
• close near plane →strong perspective distortion
Near/Far SelectionNear/Far Selection
• solutions:– select near plane as far as possible
(e.g. read back depth buffer → slow)– virtually move camera back,
compute psm for slightly largerfrustum
– move near planeforward to originalplane [Kozlov04]
![Page 16: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/16.jpg)
16
Shadows From the BackShadows From the Back
• object behind viewer casts shadow• wrap around at infinity
1 2 3 12 3
Shadows From the BackShadows From the Back
• solution 1:virtually moveback camerauntilno shadowsfrombehind
![Page 17: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/17.jpg)
17
Shadows From the BackShadows From the Back
• surprising solution 2 [Kozlov04]:set near plane to a negative value– eye rays start at –near,
go to –infinity,wrap to infinityand end at far
– sign of homogenousw happens to becorrect!
12 3
far near
Deep Light SourcesDeep Light Sources
• deep lights→ close to post-persp. cube→ wide frustum→ large distortions
![Page 18: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/18.jpg)
18
Deep Light SourcesDeep Light Sources
• however:– scene‘s bounding box
shrinks towards the farplane
→intersection of boundingbox and cube muchsmaller close to light
bounding volume ofscene intersected with cube
Cube MapsCube Maps
• [Kozlov04]: use cube maps to better sample the unit cube– one shadow map for every
backfacing side of the unit cube– can be achieved with cube maps:
text.coord = vertex coord – light pos– much better quality– also useful for point lights– generation of cube maps
requires multiple passes
![Page 19: Perspective Shadow Maps - Jan Kautzjankautz.com/courses/ShadowCourse/03-PerspectiveSM.pdf · view frustum perspective space Perspective Shadow Maps • standard shadow map – perspective](https://reader034.fdocuments.us/reader034/viewer/2022043014/5fb15c142fd59b21c3286502/html5/thumbnails/19.jpg)
19
Thesis of Hamilton Yu-Ik ChongThesis of Hamilton Yu-Ik Chong
• generalization of PSM idea• observation:
shadow maps have a degree of freedom that have been unused before PSMs: the orientation of the image plane
Thesis of Hamilton Yu-Ik ChongThesis of Hamilton Yu-Ik Chong
• optimal angle for single plane geometry– project camera to plane
(parallel to image plane)→ C
– light plane parallelto connectionof light and C
– minimal perspectivealiasing on plane
camera
light
plane
C