direct illumination with lazy visibility evaluation david hart philip dutré donald p. greenberg...

16
Direct Illumination with Lazy Visibility Evaluation David Hart Philip Dutré Donald P. Greenberg Cornell University SIGGRAPH 99

Upload: gavin-mcdowell

Post on 25-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Direct Illumination with Lazy Visibility Evaluation

David HartPhilip Dutré

Donald P. Greenberg

Cornell University

SIGGRAPH 99

Motivation

To compute the direct illumination in a three-dimensional scene: Determines the visibility between any surf

ace point and an area light source. An efficient processing of the visibility functio

n is often the key for rendering fast and accurate soft shadows.

Integrates the incoming radiance function due to the light source.

Distinguishing Features

Two phases: Visibility function Rendering equation

The visibility pass detects blocker-light source pairs. Do NOT construct a complete discontinuity mesh in object

space. The second phase clips the light sources according

to the stored blockers. The remaining light source area defines the integration

domain for the illumination integral. We store no visibility information that will not be

needed during the illumination computations.

Rendering Equation

Too complex!

L

i

N

iy

A xyre dyxv

ryx

xyfxyLxL1

2 ),(coscos

)()()(

Analytic Integration

The luminaires are a (disjoint) set of polygons. The exitant radiance is a constant for a given light s

ource. The receiving surface is diffuse. Use Stoke’s theorem:

L i

r

N

i

E

jjei

f NLxL1 1

2)(

Monte Carlo Integration

Regardless of the type of BRDF. Domain reduction

A fraction of the generated samples will evaluate to zero causing significant noise in the image.

A reduction of the integration domain to the visible parts of the light sources would decrease noise significantly.

Solid angle sampling The integration domain can be transformed from the area

of the light sources to the solid angle subtended by the light sources on the hemisphere around.

Construction of The Blocker-Map

Construction of The Blocker-Map

Shadow rays A ray is cast through the center of each pixel find the near

est visible point and a number of shadow rays starting from that point are generated for each light source.

If one of these rays hits an intervening object, this blocker-light source pair is stored.

Flood-fill algorithm The blocker is projected onto the light source and neighbo

ring pixels are examined. If the two polygons (blocker and light source) overlap, the

pair will be added to the blocker-map.

Blocker-Map

Anti-Aliasing

If more than one ray per pixel is generated for illumination computations as part of an anti-aliasing algorithm. The blocker-light source list might be invalid. The surface points might be located in very different positions in object s

pace. The coherency of the penumbra regions over the image plane can ag

ain be exploited. Due to the flood-fill, we know that a blocker is at least valid for the center location of all covered pixels. Blah blah …

If we allow the flood-fill algorithm to include the boundary pixels for which the flood-fill test fails, we can safely assume that we have stored all possible blockers. To generate multiple sample rays for illumination computations, without i

ncreasing the number of rays used for constructing the blocker-map. High-frequency geometry, such as small objects, might be overlooked.

Discussion

Missing blockers. Increases the number of shadow rays. Concludes any rather than the nearest intersecting

polygon. Receiver surfaces.

Produces soft shadows on any surface type. Small blockers.

Clip a very small piece of the light source. A whole set of small blockers might significantly affect the

visibility of a light source, thus they cannot be ignored. Requires a full clipping operation. This is a worst-case scenario for our current algorithm.

Results

Results

Results

Results

Results