In 2009 I began experimenting with OpenGL. I found it cumbersome and unwieldy, but incredibly versatile and powerful as a rendering engine. As a result, I wrote a simple wrapper library in order to streamline the OpenGL programming process, creating a series of wrapper classes and internal formats to dramatically simplify project workflow and make the entire OpenGL rendering framework much easier to use.
This unnamed library supports a number of distinct features, such as near instantaneous mesh file loading, custom texture import functions for a number of formats, support for GLSL shaders, per-pixel lighting with a large number of dynamic lights, and multi-buffered post-processing effects.
- Custom per-pixel lighting model, tested on a 250,000 polygon mesh.
- Multisample post-process effect, rendering a simple Gaussian blur in real-time.
- Depth of field post-processing effect with automatically calculated focal distance using depth-buffer sampling.
A brief video demonstrating the library.