1 / 52

Ray Tracing 2

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:

pier
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ray Tracing 2

  2. Today • Anti-aliasing • Surface Parametrization • Soft Shadows • Global Illumination • Path Tracing • Radiosity • Exercise 2

  3. 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?

  4. 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é

  5. Anti-Aliasing • Staircasing Pixels on the boundary

  6. Anti-Aliasing • Anti-aliasing - The attempt to reduce or eliminate aliasing artifacts

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. Uniform Supersampling • Global uniformity:Distance betweenSamples is always the same • What NOT to do: Two samples in the same point

  14. Uniform Supersampling

  15. 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

  16. 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

  17. Questions?

  18. Surface Parameterization How to add a 2D texture to a surface embedded in 3D? (x,y,z)

  19. 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 coordinates Equation 1. Extract (u,v) from P 2. Get the pixel color at (u,v)

  20. 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 coordinates Equation 1. Extract (u,v) from P 2. Get the pixel color at (u,v)

  21. 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)

  22. Surface Parameterization General Case – A Triangle Mesh

  23. 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)

  24. Questions?

  25. 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

  26. Area Light • Point light - Hard Shadows Lighs Source Full Shadow Umbra

  27. Area Light • Simple area light - simulated using a uniform grid of point lights. Lighs Source Full Shadow Umbra Soft Shadow Penumbra

  28. Area Light • Disadvantages of the simple uniform method: • Very time consuming • If the grid resolution is low, artifacts appear in the shadows.

  29. 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.

  30. 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?

  31. 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.

  32. Monte-Carlo Path Tracing • Conventional Ray Tracing: • Cast rays from eye through each pixel • Trace secondary rays to light sources and reflections

  33. 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

  34. Monte-Carlo Path Tracing • Cast rays from eye through each pixel • Cast random rays from the visible point, average contributions • Recurse

  35. Monte-Carlo Path Tracing • Cast rays from eye through each pixel • Cast random rays from the visible point • Recurse, accumulate contributions

  36. Monte-Carlo Ray Tracing • Cast random rays from the visible point • Recurse, accumulate contributions • Sample light from all points we visited

  37. Monte-Carlo Path Tracing 1 random ray per pixel, 1 level recursion

  38. Monte-Carlo Path Tracing 16 random rays per pixel, 3 level recursion

  39. Monte-Carlo Path Tracing 64 random rays per pixel, 3 level recursion

  40. Monte-Carlo Path Tracing 64 random rays per pixel, 3 level recursion NoticeColor Bleed To White ball

  41. Monte-Carlo Path Tracing 16 random rays per pixel1 level recursion 16 random rays per pixel100 level recursion

  42. 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

  43. 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

  44. 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.

  45. Radiosity Calculating the amount of light a patch receives • Construct a “Hemicube” on the patch • Render the scene on the hemicube • Average the color.

  46. Radiosity Rendering on a hemicube

  47. Radiosity Light emitted = Color * Light received Initial State First Iteration

  48. Radiosity Compute light emissions once, View from any angle! 32nd iteration 320th Iteration

  49. Radiosity Direct Illumination Radiosity

  50. 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.

More Related