Computer Graphics in Processing

Applying computer graphic concepts in Processing using Python.

 
 

Ray Tracing

Created a ray racing renderer. This program detects intersections between rays and vertically-oriented cylinders and spheres. Implemented shading functions to include ambient and specular shading as well as cast shadows (via shadow rays) and reflection (via recursive ray casting).


GPU Programming

Created a program that used the GPU (vertex and fragment processors) to carry out various rendering tasks.

  1. Bullseye: Took a translucent blue polygon and modified it so that the polygon has a number of concentric circles. These circles alternate between transparent and opaque.

  2. Horizontal Blue: Performed a blurring of an image in one direction. Wrote a GLSL fragment program to perform a number of texture lookups in order to smear out the color in an image.

  3. Bumps: Wrote a vertex program to modify the geometry of a collection of polygons.

  4. Fractal Set: Drew a fractal that is related to the Mandelbrot Set.

 
 

Subdivision Surfaces

Created a program that creates smooth surface creation using Loop subdivision technique. The code will read in polyhedral models (made up of only triangles) and subdivide them.