1
Dynamic Shadows and Lighting for Walkthrus of Large Models
Brandon Lloyd
COMP 258December 2002
2
Why Are Shadows Important?
3
Why Are Shadows Important?
4
Shadow Maps
Eye Light
5
Shadow Maps
• Advantages– Only one additional
render pass– Very easy to use
• Disadvantages– Aliasing problems– Resolution restricted to
available memory– Requires a user-set bias.
6
Perspective Shadow Maps
• Better utilizes available samples by warping depth map
• Find the volume that can contribute shadows to the view
• Fit light frustum to the volume in camera’s post-perspective space
• Render depth map in camera’s post-perspective space.
Perspective
7
Perspective Shadow Maps
Standard Shadow Map Perspective Shadow Map
8
Perspective Shadow Maps
Standard Shadow Map Perspective Shadow Map
9
Perspective Shadow Maps
Standard Shadow Maps Perspective Shadow Maps
10
Benefits of Using Cg
11
Benefits of Using Cg
12
Shadow Volumes
0
1 12 2
1
0
• Extrude shadow frusta from occluder edges to infinity
• Count crossings from eye to a point: – Front faces: +1– Back faces: -1
• If crossings > 0 then point is in shadow
13
Shadow Volumes
• Advantages:– No aliasing. Crisp
shadow edges– Can be done on
commodity hardware– Light need not be
restricted to a frustum
14
Shadow Volumes
• Advantages:– No aliasing. Crisp
shadow edges– Can be done on
commodity hardware– Light need not be
restricted to a frustum• Disadvantages:
– Needs CPU– FILL!!! 4.8 billion pixels per
second / (1024 * 1024 ) 4600 screen fills per second
15
Possible Solutions
• Calculate intersection of shadow frusta with object bounding boxes
• Utilize CPU to calculate shadow polygons– Use GPUs to obtain visible set from eye and light– Intersect each eye polygon with overlapping light
frusta– Use stencil to fuse shadow polygons