Camera-Aware Photon Mapping Final Project of CS6620

15
Camera-Aware Photon Mapping Final Project of CS6620 Byong Wu “Bernard” Chong Apr. 28, 2008

description

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 - PowerPoint PPT Presentation

Transcript of Camera-Aware Photon Mapping Final Project of CS6620

Page 1: Camera-Aware Photon Mapping Final Project of CS6620

Camera-Aware Photon MappingFinal Project of CS6620

Byong Wu “Bernard” ChongApr. 28, 2008

Page 2: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club2

Why did I consider this?

UoU SoC

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.

Page 3: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club3

What is Photon Mapping? – Step 1

UoU SoC

A two step process: First the photons are distributed

http://www2.imm.dtu.dk/visiondag/VD03/grafisk/PhotonMaps.ppt

Page 4: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club4

What is Photon Mapping? – Step 2

UoU SoC http://www2.imm.dtu.dk/visiondag/VD03/grafisk/PhotonMaps.ppt

Then the scene is rendered, and the density is found.

Page 5: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club5

My Idea – Camera Photons

UoU SoC

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.

Page 6: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club6

Step 1 - Camera Photon Map Creation

UoU SoC

Shoot coarse set of camera-photons. And make a map.

It would be like throwing sticky glue globs into the scene.

This is non-transparent for now on

Page 7: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club7

Step 2 – Modified Photon Shoot

UoU SoC

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.

Red hit photon will not be stored into the photon map.

Blue hit photon will be stored into the photon map.

Page 8: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club8

Step 3 – Normal Photon Map Rendering

UoU SoC

This will be the same step as normal photon mapping.If the globs are covered enough, there won’t be many missing photons.

Page 9: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club9

How did it perform? (extreme case)

UoU SoC

In the extreme case (below) it performed 69% better.

Normal photon mapping used 1.8M photons

Camera-aware photon mapping used 180K photons.

This is the original

Page 10: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club10

How did it perform? (normal case)

UoU SoC

In the normal case (below) it performed 1.4% worse.

Normal photon mapping used 1.21M photons

Camera-aware photon mapping. This took 4m:39s. Used 1.14M photons

Since we are using very simple camera-photon mapping, this area has lower resolution of camera-photons resulting color attenuation.

Page 11: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club11

Evaluation Environment

UoU SoC

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

Page 12: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club12

Future Work I – Make it two step again.

UoU SoC

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.

Page 13: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club13

Future Work II – Shoot camera photons wisely.

UoU SoC

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.

Page 14: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club14

Future Work III – Increase Camera Photon Search Speed

UoU SoC

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.

Page 15: Camera-Aware Photon Mapping Final Project of CS6620

08 Arch. Reading Club15

End of the Presentation

Questions?

UoU SoC