2D Renderer
The effects of 3D imagery can be faked with 2D images as the only inputs. By providing a normal map for the target image and a direction from which to light the image, we can accordingly interpolate between light and dark versions of the target image to produce shadows, giving the appearance of dimensionality. This also allows us to imitate reflection of a 'surrounding environment' image and refraction of light through the 'surface' of the target image to distort our view of a background image.
The below images were generated with the renderer I wrote in C# for my Digital Image class.
(The source textures and normal maps used are not my own)
Diffuse Color
Shadow color
Base color
Normal map
Directional lighting result
Diffuse Texture
Shadow color
Base color
Normal map
Directional lighting result
Specular Highlighting
Directional specular highlight
Mask
Masked specular highlight
Directional specular highlight
Mask
Masked specular highlight
Reflected Texture
Reflected environment texture with displacement
Reflection with transparency
Masked reflection
Variable reflectivity
Fresnel Refraction
Normal map
Variable Index of Refraction
Variable Index of Refraction with reflection
Variable Index of Refraction with variable refractivity