C language OpenGL/GLEW/GLSL particle effects. Download the executable or watch a video of the project.
Keyboard keys 'M' switch between Fire and Confetti particle effects,
'A' show/hides the cartesian basis vectors.
Up, left, right, down keys moves camera around the cartesian basis vectors.
Confetti cannon uses only vertex shader to compute position as function of time: x1=x0+vt+at^2.
Fire particles blend texture with color in fragment shader,
vertex shader contracts x,z components y increases as a function of time and sets color to (r,r-yInverse,z)