Geometry Shader Splines & Postprocessing (2014)

Skills Practiced: C++, GLSL, Fragment Shader Programming, Geometry Shader Programming, Vertex Shader Programming
Frameworks / Tools / Engines Used:  OpenFrameworks
Project Duration: 3 Weeks
Project Type: University Coursework

This was a piece of coursework during my study at the University of Abertay, Dundee, for the Graphics Programming with Shaders module. The coursework required a nontrivial number of postprocessing shaders; I wrote CRT monitor simulation shader, a LUT-based colour correction shader, a glow shader, a gaussian blur shader, and a scanline filter shader. Additionally, the polygons of the curving track are created on the GPU, using a geometry shader that I wrote; the main application, running in C++ with OpenFrameworks (as an OpenGL layer) simply plots single vertices in a hermite spline configuration and moves the viewing camera along the spline. A vertex shader is applied that allows the spline’s vertices to be twisted into a spiral.
The hermite spline setup was something I co-opted from one of my tinkering sideprojects, when I had decided to learn how bezier curves worked in 3D.

Vertex Warping