Shader
Depth of Field
C++ with DirectX
Two types: Accurate version and efficient version
Accurate version uses multiple render targets to submit depth information to post-processor which evaluates it according to lens formulas. Efficient version uses alpha channel and Gaussian blur to interpolate between a blurred and nonblurred pixel depending on depth.
Motion Blur
C++ with DirectX
Vertexes are manipulated in the direction of motion, combined with a curving method that I developed, to create curved motion streaks behind moving objects.
Glow
C++ with DirectX
Glow textures are applied to objects to depict which objects are illuminating. Using multiple render targets, this is used to blur a glow around the illuminated pixels.