Computer graphics & visualization Photon Mapping.

Slides:



Advertisements
Similar presentations
Computer graphics & visualization. Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Our GPU Photon Tracing Pipeline.
Advertisements

Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Computer Graphics In4/MSc Computer Graphics Lecture Notes #15 Illumination III View Independent Rendering.
Ray Tracing & Radiosity Dr. Amy H. Zhang. Outline  Ray tracing  Radiosity.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
1. What is Lighting? 2 Example 1. Find the cubic polynomial or that passes through the four points and satisfies 1.As a photon Metal Insulator.
Computer graphics & visualization Pre-Computed Radiance Transfer PRT.
Course Website: Computer Graphics 18: Ray-tracing.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Efficient Simulation of Light Transport in Scenes with Participating Media using Photon Maps Paper by Henrik Wann Jensen, Per H. Christensen Presented.
10/14/14 Image-based Lighting Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros T2.
CSCE 641: Photon Mapping Jinxiang Chai. Outline Rendering equation Photon mapping.
Photon Tracing with Arbitrary Materials Patrick Yau.
CS 376 Introduction to Computer Graphics 04 / 09 / 2007 Instructor: Michael Eckmann.
CSCE 641: Computer Graphics Ray Tracing Jinxiang Chai.
Interreflections and Radiosity : The Forward Problem Lecture #11 Thanks to Kavita Bala, Pat Hanrahan, Doug James, Ledah Casburn.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Parallelizing Raytracing Gillian Smith CMPE 220 February 19 th, 2008.
Everything on Global Illumination Xavier Granier - IMAGER/UBC.
Time-Dependent Photon Mapping Mike Cammarano Henrik Wann Jensen EGWR ‘02.
1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok
1 Dr. Scott Schaefer Radiosity. 2/38 Radiosity 3/38 Radiosity Physically based model for light interaction View independent lighting Accounts for indirect.
CSCE 641: Computer Graphics Ray Tracing Jinxiang Chai.
Presentation of LR2V Kadi Bouatouch IRISA
CSC418 Computer Graphics n Raytracing n Shadows n Global Illumination.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Computer graphics & visualization Ray-Tracing – A Quick review.
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.
-Global Illumination Techniques
CS 376 Introduction to Computer Graphics 04 / 16 / 2007 Instructor: Michael Eckmann.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Week 10 - Wednesday.  What did we talk about last time?  Shadow volumes and shadow mapping  Ambient occlusion.
Computer Graphics Global Illumination: Photon Mapping, Participating Media Lecture 12 Taku Komura.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.

Introduction to Radiosity Geometry Group Discussion Session Jiajian (John) Chen 9/10/2007.
04/30/02(c) 2002 University of Wisconsin Last Time Subdivision techniques for modeling We are now all done with modeling, the standard hardware pipeline.
Global Illumination: Radiosity, Photon Mapping & Path Tracing Rama Hoetzlein, 2009 Lecture Notes Cornell University.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Real-Time High Quality Rendering
On robust Monte Carlo algorithms for multi-pass global illumination Frank Suykens – De Laet 17 September 2002.
Monte-Carlo Ray Tracing and
Pure Path Tracing: the Good and the Bad Path tracing concentrates on important paths only –Those that hit the eye –Those from bright emitters/reflectors.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
02/12/03© 2003 University of Wisconsin Last Time Intro to Monte-Carlo methods Probability.
CSCE 441: Computer Graphics Ray Tracing
In the name of God Computer Graphics. Last Time Some techniques for modeling Today Global illumination and raytracing.
© Machiraju/Möller Rendering Equation Various Solutions cis782 Advanced Computer Graphics Raghu Machiraju.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Stochastic Path Tracing Algorithms K. H. Ko School of Mechatronics Gwangju.
University of Texas at Austin CS395T - Advanced Image Synthesis Spring 2007 Don Fussell Photon Mapping and Irradiance Caching.
Global Illumination (3) Photon Mapping (1). Overview Light Transport Notation Path Tracing Photon Mapping –Photon Tracing –The Photon Map.
CSE 681 Introduction to Ray Tracing. CSE 681 Ray Tracing Shoot a ray through each pixel; Find first object intersected by ray. Image plane Eye Compute.
Global Illumination (3) Path Tracing. Overview Light Transport Notation Path Tracing Photon Mapping.
Distributed Ray Tracing. Can you get this with ray tracing?
Distributed Ray Tracing. Can you get this with ray tracing?
CS552: Computer Graphics Lecture 33: Illumination and Shading.

Image-based Lighting Computational Photography
Global Illumination: Radiosity, Photon Mapping & Path Tracing
© 2005 University of Wisconsin
(c) 2002 University of Wisconsin
Progressive Photon Mapping
Path Tracing (some material from University of Wisconsin)
(c) 2002 University of Wisconsin
Efficient Importance Sampling Techniques for the Photon Map
Image.
Introduction to Ray Tracing
CSC418 Computer Graphics Raytracing Shadows Global Illumination.
Photon Density Estimation using Multiple Importance Sampling
Presentation transcript:

computer graphics & visualization Photon Mapping

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group 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

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Overview Generating a Photon Mapped Image: Two pass approach 1.Generate Photon Map “from the light source into the scene” 2.Render Image; e.g. with ray tracing “from the eye into the scene”

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Ray tracing The basic ray-tracing method The basic ray-tracing method – Recursive search for paths to the light source Interaction with matter Interaction with matter Point-wise evaluation of an illumination model Point-wise evaluation of an illumination model Shadows, reflection, transparency Shadows, reflection, transparency Viewpoint Point light source R2R2 R1R1 R3R3 N2N2 N1N1 N3N3 T1T1 T2T2 L2L2 L1L1 L3L3 N: surface normals R: reflected rays L: shadow rays T: transmitted rays

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Light sources Types of light sources Point Spherical Area General

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group From light source into the scene Point light source R2R2 R1R1 R3R3 N2N2 N1N1 N3N3 T1T1 T2T2 L3L3 Photon Map entries

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Excursion: Path tracing So far „recursive Raytracing“ EyeReflection Refraction ReflectionRefraction Reflection Refraction ReflectionRefraction “wastes most computations on little contribution”

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group New idea: „Path Tracing“ Consider only a single path through the tree at a time... and use Russian roulette to compute multiple paths EyeReflection Refraction ReflectionRefraction Reflection Refraction ReflectionRefraction

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Back to Photons N1N1 N1N1 N1N1

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Why path-tracing for photons? Constant photon energy Well defined number of Photons in map Problem: Aliasing

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Aliasing/Noise

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group 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;

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group 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)

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group A “balanced” kd-Tree pointList = [(2,3), (5,4), (9,6), (4,7), (8,1), (7,2)] tree = kdtree(pointList)

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group KD-Tree Example

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group 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

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Pass 2 Rendering Photon Map per se can not be rendered

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Gathering

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Radiance Estimate

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Splitting up the RE Direct illumination from LS Specular from caustics and diffuse illumination Diffuse from caustics illumination Diffuse from diffuse incoming illumination

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Splitting up the RE Raytracing: Shadow Caster Direct illumination from LS Specular from caustics and diffuse illumination Diffuse from caustics illumination Diffuse from diffuse incoming illumination

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Splitting up the RE Raytracing: Shadow Caster Raytracing: Monte-Carlo Raytracing Direct illumination from LS Specular from caustics and diffuse illumination Diffuse from caustics illumination Diffuse from diffuse incoming illumination

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Splitting up the RE Raytracing: Shadow Caster Raytracing: Monte-Carlo Raytracing Photon Map: Direct Radiance Estimate Direct illumination from LS Specular from caustics and diffuse illumination Diffuse from caustics illumination Diffuse from diffuse incoming illumination

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Splitting up the RE Raytracing: Shadow Caster Raytracing: Monte-Carlo Raytracing Photon Map: Direct Radiance Estimate Photon Map: Indirect Radiance Estimate Direct illumination from LS Specular from caustics and diffuse illumination Diffuse from caustics illumination Diffuse from diffuse incoming illumination

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group 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“.

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Results

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Problems

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Disc Sampling

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group More Images Photons, 100 Photons for radiance estimate, 11 Minutes

computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization Group Realtime Photon tracing on GPUs 0.05 Seconds