1 / 30

Image Synthesis

Image Synthesis. Photon Mapping. Motivation.

alaire
Download Presentation

Image Synthesis

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. Image Synthesis Photon Mapping

  2. Motivation “Today ray tracing is one of the most popular and powerful techniques in the image synthesis repertoire: it is simple, elegant, and easily implemented. [However] there are some aspects of the real world that ray tracing doesn’t handle very well (or at all!) as of this writing. Perhaps the most important omissions are diffuse inter-reflections (e.g. the ‘bleeding’ of colored light from a dull red file cabinet onto a white carpet, giving the carpet a pink tint), and caustics (focused light, like the shimmering waves at the bottom of a swimming pool).” Andrew Glassner 1989

  3. Overview Generating a Photon Mapped Image: Two pass approach • Generate Photon Map“from the light source into the scene” • Render Image; e.g. with ray tracing“from the eye into the scene”

  4. Ray tracing • The basic ray-tracing method • Recursive search for paths to the light source • Interaction with matter • Point-wise evaluation of an illumination model • Shadows, reflection, transparency N: surface normals R: reflected rays L: shadow rays T: transmitted rays T2 R2 R3 T1 N2 R1 N3 L3 L2 L1 N1 Point light source Viewpoint

  5. Light sources Types of light sources Point Spherical Area General

  6. From light source into the scene T2 R2 R3 T1 N2 R1 N3 L3 N1 Point lightsource Photon Mapentries

  7. Excursion: Path tracing So far „recursive Raytracing“ “wastes most computationson little contribution”

  8. New idea: „Path Tracing“ Consider only a single path through the tree at a time ... and use Russian roulette to compute multiple paths

  9. Back to Photons N1 N1 N1

  10. Why path-tracing for photons? Constant photon energy Well defined number of Photons in map Problem: Aliasing

  11. Aliasing/Noise

  12. What to store in the photon map? struct photon { float x,y,z; // position char phi, theta; // incident direction char p[4]; // color } // phi = 255 * (atan2(dy,dx)+PI) / (2*PI); // theta = 255 * acos(dx) / PI;

  13. How to store photons? • in a list / an array • simple • search operations O(n) • in a grid • memory intense • search operations O(1) • in a tree / kd-Tree • memory efficient • search operations O(log n)

  14. A “balanced” kd-Tree pointList = [(2,3), (5,4), (9,6), (4,7), (8,1), (7,2)] tree = kdtree(pointList)

  15. KD-Tree Example

  16. Pass 1 Shooting: Summary • For every light source • For a given number of photons • Choose random position (not for point lights) • Choose random direction • Start path tracing from light source • Stop in diffuse or absorbtion cases • If diffuse: store position and direction in list • Convert list to kd-tree

  17. Pass 2 Rendering Photon Map per se can not be rendered

  18. Gathering

  19. Radiance Estimate

  20. Splitting up the RE Direct illumination from LS Specular from caustics and diffuse illumination Diffuse from caustics illumination Diffuse from diffuse incoming illumination

  21. Splitting up the RE Direct illumination from LS Specular from caustics and diffuse illumination Diffuse from caustics illumination Diffuse from diffuse incoming illumination Raytracing: ShadowCaster

  22. Splitting up the RE Direct illumination from LS Specular from caustics and diffuse illumination Diffuse from caustics illumination Diffuse from diffuse incoming illumination Raytracing: Shadow Caster Raytracing: Monte-Carlo Raytracing

  23. Splitting up the RE Direct illumination from LS Specular from caustics and diffuse illumination Diffuse from caustics illumination Diffuse from diffuse incoming illumination Raytracing: Shadow Caster Raytracing: Monte-Carlo Raytracing Photon Map: Direct Radiance Estimate

  24. Splitting up the RE Direct illumination from LS Specular from caustics and diffuse illumination Diffuse from caustics illumination Diffuse from diffuse incoming illumination Raytracing: Shadow Caster Raytracing: Monte-Carlo Raytracing Photon Map: Direct Radiance Estimate Photon Map: Indirect Radiance Estimate

  25. Irradiance Cache Instead of computing the Indirect Radiance Estimate, compute the irradiance of a given pixel from the irradiance values of its neighbors; „if possible“.

  26. Results

  27. Problems

  28. Disc Sampling

  29. More Images 1 000 000 Photons, 100 Photons forradianceestimate, 11 Minutes

  30. Realtime Photon tracing on GPUs 0.05 Seconds http://wwwcg.in.tum.de/Research/Publications/Photons/

More Related