Sunday, December 16, 2012

Final Project Submission

We have implemented the following features in our WebGL path tracer:
  • Diffuse
  • Diffuse reflection
  • Refraction
  • Fresnel
  • Anti alias
  • Camera interactivity
  • Subsurface scattering(although not very accurate)

Source code location: code
Web links:



Paper: WebGL path Tracer Paper

Friday, December 14, 2012



This is a path tracer implemented in WebGL. This instance of path tracer displays fresnel equation implementation. It also allows camera motion on mouse click movements.

Fresnel equations describe the reflection and transmission of rays through an object. In essence, when the rays reach the boundary of two different materials then part of the wave is reflected and part is refracted. We use Russian roulette technique which determines either to refract or reflect based on the fresnel transmission coeffi- cient.
The direction of reflected ray is computed based on the laws of reflection, and the direction of refracted ray follows the Snell’s law with respect to the incident angle.

Thursday, December 13, 2012

Subsurface scatter


Final presentation tomorrow


This is the path tracer written in WebGL.
To run the code: (actually it is still running)
1. click the mouse and change the position of camera by mouse motion.
2. Click again to stop camera movement.

Colors will accumulate and give the image.

Presentation: presentation

Wednesday, December 12, 2012

Fresnel Refraction/reflection & subsurface scatteringRef

We implemented fresnel refraction/reflection and the results look great. Also, the accumulation is very fast. Here are some of the results of the rendering:

Reflection and refraction


We tried to implement subsurface scattering using monte carlo method, but there was some problem the colors were getting translucent in the reflected image but not the actual object. Here, is the image representing this issue.

Incorrect SubsurfaceScattering

As you can see, the reflected image has the color that too not very good. since, we do not have enough time to fix that. We used the hack of sub surface scattering. The results seem OK.

Cool Images produced while trying to do subsurface scattering:

Glossy effect