Ray tracing 2
This presentation is the property of its rightful owner.
Sponsored Links
1 / 52

Ray Tracing 2 PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on
  • Presentation posted in: General

Ray Tracing 2. Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination Path Tracing Radiosity Exercise 2. Sampling. Ray Casting is a form of discrete sampling. Rendered Image: Sampling of the ground Truth at regular intervals. Ground Truth:

Download Presentation

Ray Tracing 2

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Ray tracing 2

Ray Tracing 2


Today

Today

  • Anti-aliasing

  • Surface Parametrization

  • Soft Shadows

  • Global Illumination

    • Path Tracing

    • Radiosity

  • Exercise 2


Sampling

Sampling

Ray Casting is a form of discrete sampling.

Rendered Image:Sampling of the groundTruth at regular intervals

Ground Truth:

An Exact MathematicRepresentation

Signal Frequency?

Sampling Frequency?


Anti aliasing

Anti-Aliasing

Aliasing: A distortion or artifact as a result of sampling.

  • Higher frequency removal

    To reproduce the signal fully - Nyquist rate

Signal Sampled

  • Related problem – Moiré


Anti aliasing1

Anti-Aliasing

  • Staircasing

    Pixels on the boundary


Anti aliasing2

Anti-Aliasing

  • Anti-aliasing - The attempt to reduce or eliminate aliasing artifacts


Uniform supersampling

Uniform Supersampling

  • Instead of sampling one point in every pixel. Sample k2times (for some n) in uniform intervals

  • Set the pixel color to the average of the k2colorssampled

Single Pixel - Multiple Sample

Single Pixel - Single Sample


Cast ray through pixel

Cast ray through pixel

  • Constructing a ray through a pixelParameters:

    • Eye point – P

    • View direction - towards

    • Up direction

    • Field of view – (xfov, yfov)

    • Distance to screen – d

      right = towards x up

      right and up define theorientation of the screen.

      P0 and d define where it’s at.

xfov

center of screen

Pc

yfov

d

up

towards

P0

right


Cast ray through pixel1

Cast ray through pixel

Pc = P0 + towards*d

P is the pixel at (xpixel, ypixel) = (2, 2)

Calculate (xscreen, yscreen)

P = Pc + xscreen*right + yscreen*up

V = (P - P0) / ||P - P0||

ray direction to P.

xfov

P

up

Pc

right

yfov

d

V

towards

ray = P0 + t*V

P0


Cast ray through pixel2

Cast ray through pixel

  • Transforming (xpixel, ypixel) to (xscreen, yscreen)

pixel-width = 320 px

xfov = 2.0

+x

+y

+up

yfov = 2.0

Pc

+right

pixel-height = 240 px

Screen – In Object Space

Application Window


Uniform supersampling1

Uniform Supersampling

Pixel coordinates can now have fractions

Pc = P0 + towards*d

P is the pixel at (xpixel, ypixel) = (2.5, 2.5)

Calculate (xscreen, yscreen)

P = Pc + xscreen*right + yscreen*up

V = (P - P0) / ||P - P0||

ray direction to P.

do this k2 times, average results.

xfov

P

up

Pc

right

yfov

d

V

ray = P0 + t*V

towards

P0


Uniform supersampling2

Uniform Supersampling

1 sample per pixel

Where should you sample the pixel?

0

½

1

1

0

½

¼

¾

0

0

4 sample per pixel

¼

½

½

¾

1

1

9 sample per pixel


Uniform supersampling3

Uniform Supersampling

  • Global uniformity:Distance betweenSamples is always the same

  • What NOT to do:

Two samples in the same point


Uniform supersampling4

Uniform Supersampling


Adaptive supersampling

Adaptive Supersampling

If the difference between adjacent samples is too great, divide the pixel to 4 and cast more rays

  • Smooth pixels need only 4 samples

  • Edges can still be reproduced smoothly

  • Reuse common rays


Stochastic sampling

Stochastic Sampling

  • Uniform sampling often still can’t account for frequency issues

  • Sub-divide the pixel to a grid

  • Choose a random point in every cell

  • Makes the interval of sampling non-uniform

  • Reduce aliasing by introducing noise


Questions

Questions?


Surface parameterization

Surface Parameterization

How to add a 2D texture to a surface embedded in 3D?

(x,y,z)


Surface parameterization1

Surface Parameterization

P4

P3

Simple case – rectanglular plane

u

P

v

P1

P2

u [0,1], v  [0,1]

P = -v * (P3-P1) + u * (P2-P1)

Baricentric coordinatesEquation

1. Extract (u,v) from P

2. Get the pixel color at (u,v)


Surface parameterization2

Surface Parameterization

P4

P3

Simple case - rectanglular plane

u

P

v

P1

P2

u [0,1], v  [0,1]

P = -v * (P3-P1) + u * (P2-P1)

Baricentric coordinatesEquation

1. Extract (u,v) from P

2. Get the pixel color at (u,v)


Surface parameterization3

Surface Parameterization

P

A Little more complex - Sphere

u

v

P = (x,y,z)  (,,r)

  • u =, v = 

    Sphertical Coordinates

u [0,1], v  [0,1]

1. Extract (u,v) from P

2. Get the pixel color at (u,v)


Surface parameterization4

Surface Parameterization

General Case – A Triangle Mesh


Surface parameterization5

Surface Parameterization

P

A Little more complex - Sphere

u

v

P = (x,y,z)  (,,r)

  • u =, v = 

    Sphertical Coordinates

u [0,1], v  [0,1]

1. Extract (u,v) from P

2. Get the pixel color at (u,v)


Ray tracing 2

Questions?


Area light

Area Light

  • So far we’ve see only “ideal” light sources

    • Light from infinity

    • Point Light

    • Spot Light

  • These produce“Hard Shadows”

  • To Create a realisticShadow one option isto use a morerealistic light source

Directed Light

Point Light

Area Light


Area light1

Area Light

  • Point light - Hard Shadows

Lighs Source

Full Shadow

Umbra


Area light2

Area Light

  • Simple area light - simulated using a uniform grid of point lights.

Lighs Source

Full Shadow Umbra

Soft Shadow Penumbra


Area light3

Area Light

  • Disadvantages of the simple uniform method:

    • Very time consuming

    • If the grid resolution is low, artifacts appear in the shadows.


Area light4

Area Light

Monte-Carlo Area light

  • Light is modeled as a sphere

  • Highest intensity in the middle. Gradually fade out.

  • Shoot n rays to random points in the sphere

  • Average their value.


Monte carlo vs las vegas

Monte Carlo vs Las Vegas

  • Two types of randomized, probabilistic methods for constructing an algorithm

  • Results are statistic – Has an expectancy E(X) to be correct.

  • Monte Carlo:

    • Has a predictable time complexity.

    • Result may not be correct.

    • Better results the more you run it

  • Las Vegas:

    • Time complexity not guaranteed

    • Always returns the correct answer

  • Convert Monte-Carlo to Las-Vegas?


Global illumination

Global Illumination

In the real world light is everywhere.

  • Reflects in every direction from every surface onto every surface.

  • Anywhere in the world, light comes from infinite directions around.

    In the lighting equation we’ve used the Ambient intensity to approximate this.


Monte carlo path tracing

Monte-Carlo Path Tracing

  • Conventional Ray Tracing:

    • Cast rays from eye through each pixel

    • Trace secondary rays to light sources and reflections


Monte carlo path tracing1

Monte-Carlo Path Tracing

  • A generalization of the concept of Monte-Carlo area light

    • Cast rays from eye through each pixel

    • Cast random rays from the visible point, average contributions


Monte carlo path tracing2

Monte-Carlo Path Tracing

  • Cast rays from eye through each pixel

  • Cast random rays from the visible point, average contributions

  • Recurse


Monte carlo path tracing3

Monte-Carlo Path Tracing

  • Cast rays from eye through each pixel

  • Cast random rays from the visible point

  • Recurse, accumulate contributions


Monte carlo ray tracing

Monte-Carlo Ray Tracing

  • Cast random rays from the visible point

  • Recurse, accumulate contributions

  • Sample light from all points we visited


Monte carlo path tracing4

Monte-Carlo Path Tracing

1 random ray per pixel, 1 level recursion


Monte carlo path tracing5

Monte-Carlo Path Tracing

16 random rays per pixel, 3 level recursion


Monte carlo path tracing6

Monte-Carlo Path Tracing

64 random rays per pixel, 3 level recursion


Monte carlo path tracing7

Monte-Carlo Path Tracing

64 random rays per pixel, 3 level recursion

NoticeColor Bleed

To White ball


Monte carlo path tracing8

Monte-Carlo Path Tracing

16 random rays per pixel1 level recursion

16 random rays per pixel100 level recursion


Glossary

Glossary

  • Ray Casting:

    • Cast rays from eye through each pixel, find first hit

  • Ray Tracing:

    • Cast rays from eye through each pixel, find first hit

    • Recourse- Ray changes course/divides into few rays

    • Accumulate all results.

  • Path Tracing

    • Cast rays from eye through each pixel, find first hit

    • Recourse- Shoot random rays in the reflect hemisphere

    • Accumulate All results

1-3 rays per recursion step

1-100 rays per recursion step


Glossary1

Glossary

  • Direct Illumination

    • Find a interaction between objects and emitters of light

    • “How much light from light source X hits this point”

    • Ray Tracing

  • Global Illumination

    • Find interaction between objects and complete environment

    • “How much light hits this point”, “Indirect lighting”

    • Path Tracing

    • Faked with The Ambient constant in the light equation.

    • Radiosity

    • Photon mapping


Radiosity simplified

Radiosity(simplified)

  • A different approach to Global Illumination

  • Divide the scene into a set of small areas

  • The radiosicy of a patchis the total amount of lightemitted from it

  • Calculate all the amountof light a patch receives fromall other patches.

  • Calculate the radiosity

  • Iterate.


Radiosity

Radiosity

Calculating the amount of light a patch receives

  • Construct a “Hemicube” on the patch

  • Render the scene on the hemicube

  • Average the color.


Radiosity1

Radiosity

Rendering on a hemicube


Radiosity2

Radiosity

Light emitted = Color * Light received

Initial State

First Iteration


Radiosity3

Radiosity

Compute light emissions once,

View from any angle!

32nd iteration

320th Iteration


Radiosity4

Radiosity

Direct Illumination

Radiosity


Radiosity surface subdivision

Radiosity – Surface Subdivision

  • Using a uniform mesh?

    • Wasteful. Smooth areas don’t need a great level of detail

  • Hierarchical subdivision

    • Areas with large changes get subdivided.


Ray tracing exercise

Ray Tracing exercise


Ray tracing 2

a


  • Login