150 likes | 263 Views
Camera-Aware Photon Mapping Final Project of CS6620. Byong Wu “Bernard” Chong Apr. 28, 2008. Why did I consider this?. http://www.youtube.com/watch?v=lOWMlzOHapQ : Photon mapping with static scene http://blenderartists.org/forum/showthread?t=54129 : Yafray patch on reusing a photon map
E N D
Camera-Aware Photon MappingFinal Project of CS6620 Byong Wu “Bernard” Chong Apr. 28, 2008
Why did I consider this? • http://www.youtube.com/watch?v=lOWMlzOHapQ : Photon mapping with static scene • http://blenderartists.org/forum/showthread?t=54129 : Yafray patch on reusing a photon map • As you can see, a photon map is unaware of camera setting. UoU SoC 08 Arch. Reading Club
What is Photon Mapping? – Step 1 • A two step process: • First the photons are distributed UoU SoC 08 Arch. Reading Club http://www2.imm.dtu.dk/visiondag/VD03/grafisk/PhotonMaps.ppt
What is Photon Mapping? – Step 2 • Then the scene is rendered, and the density is found. UoU SoC 08 Arch. Reading Club http://www2.imm.dtu.dk/visiondag/VD03/grafisk/PhotonMaps.ppt
My Idea – Camera Photons • Shoot ”camera-photons” from a camera. Just like ray tracing. • Make a (coarse) camera-photon map • If a light photon hits near a camera-photon, it will be recorded, otherwise it will be ignored. • Render with only recorded photons in the map. • Therefore, it is 3-step process. UoU SoC 08 Arch. Reading Club
Step 1 - Camera Photon Map Creation • Shoot coarse set of camera-photons. And make a map. This is non-transparent for now on It would be like throwing sticky glue globs into the scene. UoU SoC 08 Arch. Reading Club
Step 2 – Modified Photon Shoot Blue hit photon will be stored into the photon map. Red hit photon will not be stored into the photon map. • Shoot light photons, if there isn’t a camera photon nearby, it will be discarded. Only the photons sticked to the camera-photon globs would be recorded. UoU SoC 08 Arch. Reading Club
Step 3 – Normal Photon Map Rendering • This will be the same step as normal photon mapping. If the globs are covered enough, there won’t be many missing photons. UoU SoC 08 Arch. Reading Club
How did it perform? (extreme case) This is the original Camera-aware photon mapping used 180K photons. Normal photon mappingused 1.8M photons • In the extreme case (below) it performed 69% better. UoU SoC 08 Arch. Reading Club
How did it perform? (normal case) Since we are using very simple camera-photon mapping, this area has lower resolution of camera-photons resulting color attenuation. Camera-aware photon mapping. This took 4m:39s. Used 1.14M photons Normal photon mapping used 1.21M photons • In the normal case (below) it performed 1.4% worse. UoU SoC 08 Arch. Reading Club
Evaluation Environment • Since it is very hard to implement a photon mapping, I asked Steve’s permission for using a open ray tracer for the final project. (I was not interested on reproducing already implemented ideas) • Modeler: Blender 2.45 • Ray Tracer: Yafray 0.0.9 • My System: AMD 1.09GHz 1GB RAM, WinXP Pro. • The implementation source code is on • http://www.cs.utah.edu/~bchong/Graphics/yafray0.0.9-camera-aware.zip UoU SoC 08 Arch. Reading Club
Future Work I – Make it two step again. • If the camera photons are finely shot and if it remembers which pixel it belongs to, we could just use camera-photon instead of light-based photon. • If a light-based photon hits a camera photon, it will add its color to the camera-photon. • After step 2 of photon shoot, the color added camera photons will be shrunken down to a image in O(N) complexity. • If this is possible, even adding 2G photons would not increase required memory resource. UoU SoC 08 Arch. Reading Club
Future Work II – Shoot camera photons wisely. • Unlike light photons, camera photons could be shot and placed in manipulated manner. (If we direct a light photon’s direction, the picture might have a biased look.) • Put more camera-photons in the area where we could miss necessary light-photons. • On this work, I had to find the best camera-photon radius and the resolution. The software should find the optimal coefficients. UoU SoC 08 Arch. Reading Club
Future Work III – Increase Camera Photon Search Speed • If the number of camera photons increases, just checking if there is a camera photon nearby is very expensive. • This would be O(search_latency * light photon bounces) • This is why we should also consider Future Work I, on work I, we don’t have to check if there is a light photon on some 3D point. UoU SoC 08 Arch. Reading Club
End of the Presentation Questions? UoU SoC 08 Arch. Reading Club