today more raytracing stuff –soft shadows and anti-aliasing more rendering methods –the text...

23
Today More raytracing stuff Soft shadows and anti-aliasing More rendering methods The text book is good on this I’ll be using images from the CDROM in the back of the book

Upload: charlene-kelly

Post on 28-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Today• More raytracing stuff

– Soft shadows and anti-aliasing

• More rendering methods– The text book is good on this

– I’ll be using images from the CDROM in the back of the book

Page 2: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Soft Shadows• Light sources that extend over an area (area light

sources) should cast soft-edged shadows– Some points see all the light - fully illuminated– Some points see none of the light source - the umbra– Some points see part of the light source - the penumbra

• To raytrace area light sources, cast multiple shadow rays– Each one to a different point on the light source– Weigh illumination by the number that get through

Page 3: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Soft Shadows

Umbra PenumbraPenumbra

Page 4: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Soft Shadows

All shadow rays go through

No shadow rays go through

Some shadow rays go through

Page 5: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Anti-Aliasing• Raytracing can alias badly

– Each ray is a single point sample

– Problem is made worse by recursive rays – the point sample depends on other point samples

• Common solutions:– Super-sampling: Cast multiple rays per pixel and average their

contribution in some way

– Jittered sampling: Frequently used with super-sampling, randomly jitters each ray within the pixel

– Adaptive sampling: Cast extra rays through the pixel if some initial sample rays indicate that they are needed

Page 6: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Anti-Aliasing

Uniform Jittered Adaptive

Page 7: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Distribution Raytracing• Distribution raytracing casts more than one ray for each

sample– Originally called distributed raytracing, but the name’s confusing

• Multiple rays for each pixel, distributed in time– Gives you motion blur, a strong visual clue for motion

• Cast multiple reflection rays at a reflective surface– Gives you rough, blurry reflections

• Simulate multiple paths through the camera lens system– Gives you depth of field, an important visual clue for depth

Page 8: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Distribution RaytracingDepth of Field

Watt: \learning\Study12\

Page 9: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Raytracing Can’t Do…• Recall light paths• Which does a raytracer capture?• Which can it not capture?

Page 10: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Ray-traced Cornell box, due to Henrik Jensen,http://www.gk.dtu.dk/~hwj

Page 11: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Missing Paths• Basic recursive raytracing cannot do:

– LS*D+E: Light bouncing off a shiny surface like a mirror and illuminating a diffuse surface

– LD+E: Light bouncing off one diffuse surface to illuminate others

• Basic problem: The raytracer doesn’t know where to send rays out of the diffuse surface to capture the incoming light

• Also a problem for rough specular reflection– Fuzzy reflections in rough shiny objects

Page 12: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Bi-directional Raytracing• Cast rays from the light sources out into the scene: Light

pass– When a ray hits a diffuse surface, accumulate some light there– Surfaces record the amount of light that hits them

• Store the light in texture maps• Store the light in quadtrees• Store the light in photon maps

• Cast rays from the eye out into the scene: Eye pass– When a ray hits a diffuse surface, look up the amount of light that

hit it in the light-ray phase

• What paths does it capture?• What sort of visual effects do you see?

Page 13: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Caustics

Watt: \learning\Study13\

Standard raytracer Bi-directional raytracer

More rays in the light pass

Note the LS*DS*E paths

Page 14: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Refraction caustic

Henrik Jensen, http://www.gk.dtu.dk/~hwj

Page 15: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Refraction caustics

Henrik Jensen, http://www.gk.dtu.dk/~hwj

Page 16: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Still Missing…• LD*E paths – Diffuse-diffuse transport

– Formulated and solved with radiosity methods

• L(S|D)*E paths– Solved with Monte-Carlo renderers – very very

inefficient

– Also solvable with multi-pass methods, but also very very inefficient, and subject to aliasing

– An unsolved (unsolvable?) problem

Page 17: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Watt: \learning\Study15\Museu4.tif

Real World LD*E Paths

Page 18: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Radiosity Assumptions• All surfaces are perfectly diffuse

– Means that is doesn’t matter which way light hits or leaves a surface

• Illumination is constant over a patch– Can break the world up into a discrete number of pieces– Problems at sharp illumination boundaries - shadows– Ways around these problems, but less efficient and less

able to manage scene complexity

• Assumptions allow us to solve for LD*E paths

Page 19: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Radiosity Equation

• Derived from the global illumination equation using radiosity assumptions

• Bi is the radiosity (brightness) of patch i i is the diffuse reflection coefficient• Fij is the form factor, which quantifies how much light

patch j contributes to patch i• The brightness of each patch depends on how much light it

gets from all the others, and its diffuse reflection

j

N

jijiii BFEB

1

Page 20: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Solving the Radiosity Eqn• Radiosity algorithms use one of several methods to solve

the radiosity equation– Basically a very large linear system, so techniques can all be

mapped onto linear system solvers

• A large part of the computation is in finding form factors– Describe how much light gets from each patch to every other patch

– Geometric in nature - do not depend on the illumination, just the layout of the scene

• Another key factor is finding good meshing strategies - ways of laying out the patches

Page 21: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Watt: \learning\Study15\Rdcb2.tif

Radiosity Example• Color bleeding is

extreme in this example

• Textures are applied after solving for illumination

• Some meshing artifacts are visible - note the banding around the pictures on the wall

Page 22: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Watt: \learning\Study15\Rdcb1.tif

Radiosity Meshing• Each patch is colored

with its illumination

• Note the discrete nature of the solution

• The previous image was obtained by pushing color to vertices and then Gourand shading

Page 23: Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM

Next time…• We switch from rendering to animation - last

regular class