This interactive OpenGL and C++ project was the final assignment for a Computer Graphics course at the University of Waterloo. We were required to design and implement 10 objectives based on new course material, while also considering everything we’d learned prior in the course. A few highlights for me were shader programming, bump mapping, particle systems, fractal terrain, and motion path animation.
Shader programming was enjoyable because I got to indulge my artsy side, and play around with aesthetics. I implemented toon shading (pictured below), and added fog effects to the reflection in the glass for added realism. Particle systems were also fun because, well, bubbles!
I also enjoyed experimenting with computer generated fractals. The mountains pictured are dynamically generated fractal terrain, and the plant is an few iterations of an L-system fractal. I’ve always been fascinated by fractals in nature, and have studied a more mathematical approach, so I was interested in programmatically emulating the visual complexity.
I was recognized as the 3rd place winner in my class for this project. We were evaluated not only on the completion of our objectives, but also our code quality, documentation, creativity and overall aesthetic. For more information check out the Waterloo Daily Bulletin feature on the course.