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