1 Dynamic Shadows and Lighting for Walkthrus of Large Models Brandon Lloyd COMP 258 December 2002.

15
1 Dynamic Shadows and Lighting for Walkthrus of Large Models Brandon Lloyd COMP 258 December 2002
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    2

Transcript of 1 Dynamic Shadows and Lighting for Walkthrus of Large Models Brandon Lloyd COMP 258 December 2002.

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 1

2 21

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