NPRay - CS 488 Final Project

The goal was to write a ray tracer that featured edge enhanced images and a photon map, to acheive interesting effects. Due to taking 5 courses and not wishing to fail any of them, some objectives were cut, notably finishing integration of the edges into the scene.

The base style for this demo page was copied and pasted from here.
All images are my own.

0 - Reflection

A4 Extra Objective 

Scene demonstrating reflection.
   

1-2 - Additional Primitives

  

Additional primitives: Cylinder, Cone and Torus
   

3 - Constructive Solid Geometry

  

Spheres under Union, Intersection, and Difference
   

4 - Refraction

  

A torus refracting through a sphere, in everyone's favorite box!
   

5 - Caustics

  

Specular spheres with caustics.

Visualization of caustic photon map.
 

6 - Global Illumination

  

Scene with global illumination.

Visualization of global illumination photon map. Note the colour bleeding.
 

7 - Texture Mapped Primitives

  

Textured primitives
   

8 - G-Buffers


G-Buffers provide extra information about a scene in order to enhance the main image with post processing techniques.
  

Colour Map G-Buffer (this is the normal rendering)

Depth Map G-Buffer.The lighter the colour the further it is.

Normal Map G-Buffer. Renders the surface normal vector mapping XYZ to RGB

9 - Edge Enhancements using Depth Map

(partially complete) 

First order edges.

Second order edges.
 

10 - Final Scene

(incomplete so I distract you with my A4 Final Image) 

A4 final scene. Aliens, Flowers, and Cows, Oh my!

Depth Map of scene

Main edges of scene. Has a certain charm about it. :)

11 - Adaptive Anti-Aliasing

(Extra: because pictures look so much better with it) 

No Anti-Aliasing

Pixels in need of super sampling (0.07 threshold)

4x4 SuperSampling on rough pixels

Random Awesome Image

 

"Cornell Box Murder": Who Shot Who?
First visualization of Photon Map, after implementing reflection and refraction for photon tracing. If that's not NPR I don't know what is.