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