Project by Corbin Gruber

The goal of the Raytracer project is to generate images from given scene descriptions that push the boundaries of realism and art.

Features


- Parse Povray

The program first takes in a scene description which includes shapes, lights, and a camera.

- Sphere, Box, Triangle, and Plane Intersections

A ray is sent from the camera to intersect shapes within the scene. Shapes may be transformed, therefore prior to an intersection test each shape must convert the ray to its model space.

- Shadows

Each local color computation accounts for obstruction by other shapes in the scene with respect to every light.

- Blinn Phong & Cook Torrance

Toggle between two separate BRDFs

- Anti-Aliasing

The use of blank and jitter to sample nearby pixels results in a smooth final image.

- Reflection & Refraction

Shapes can be rendered with levels of reflection and refraction, making for more complex visuals.

- BVH Tree

This is a space data structure that improves performance by sorting and grouping objects within the scene to reduce the number of intersection tests on geometry.

Generated Images



Outline



This image features a sphere and three planes outlined in black. The outline on the planes provides the awesome curves surrounding the sphere


Reflection



In this image are three reflective spheres, that are outlined in black. My favorite part about this one is how the reflections on the red and blue planes of the outline are based on the plane's local color.


Refraction



This image is of two spheres. The sphere on the left is refractive with an ior of 2.0, and the sphere on the right is reflective.

Contact

cgruber@calpoly.edu