CS184 Homework 6
cs184-dt Thamine Dalichaouch
cs184-ck Changhun Kim

For Project 6, we have 2 projects.
first one generates surface of revolution from arbitary curves (both Bezier and B-spline)

Screenshot
Above is an image generated from a b-spline curve.

Generated surface changes as the detail of curve changes.

Screenshot
This is generated from a Bezier curve with detail=8.

Screenshot
This is generated from a Bezier curve with detail=30.


The second one adds some effects/functions to the raytracer we implemented for hw5.
- Omp parallelization
- BVH acceleration structure
- soft shadows & area lights
Screenshot
Soft shadows, generated by adding randomness to the blocking test. Only edges of shadows are affected.

Screenshot
A solid ball with normal shadows from a point light source.
Screenshot
Same image with soft shadows from an area light source.


- anti-aliasing
Screenshot
Reflective balls with no anti-aliasing.

Screenshot
Same image with AA.

- refraction (using Schlick's approximation to calculate the reflected and refracted amplitudes)
Screenshot
Cornell Box with a crystal ball at the center, with index=1.5
Anti-aliasing is applied.
Screenshot
An image generated using index=1.07, no AA

Screenshot
Same image generated with AA. Edges of the box, balls, and shadows got smoother.

Screenshot
Same image generated using index=1.5, with AA

- A cube primitive is added in raytracer
Screenshot
A transparent cube in front of a sphere. Cube was created by using a primitive defined. The index of a cube is 1.005

we can do refraction with any arbitrarily bound triangle mesh.
(including spheres and cubes)

- Example of refractive object with specular reflection property
Screenshot
The wall in the back is a mirror. Each ball refracts some light, so you can see the image in the mirror through the sphere.
Images inside spheres are upside down because the sphere serves as a convex lens.
Also, each sphere has its own specular color, with the one in front being dark (but still transparent).
This image is generated using area light and antialiasing.