NormalMap_gt is an image filtering plugin for Quartz Composer. This plugin generates a normal map from a greyscale heightfield.

It is available here, with some sample compositions:

This allows one to create high quality lighting, add the appearance of a higher polygon count than exists in a source, or have the appearance of smoothing polygons as well. It also helps with the realtime creation of normals from generative source.

Offset controls the pixel offset of the algorithm, which has the effect of smoothing the image, or swizzling if one changes sign (eg., inverting the normal appearance of lighting), and Z controls the intensity of the blue channel, which changes the appearance of depth in the resulting rendering.

Thank you to Anton Marini for showing how to wrap a glsl shader in an image processing plugin with v002 Erode, and thanks to Chris Wright for explaining the logic behind writing a process that creates a normal map from greyscale depth map.

Please install Kineme AlphaBlend in your Quartz Composer Patches folder, for correct rendering of the Draw demo. (Not necessary for the actual use of the normal map plugin though!)