Normal Mapping

interactive normal map creation with seamless tiling

Toolset development

Though there are a number of tools available for creating normal maps from colour or greyscale sources, sometimes a custom approach is needed. After creating a series of Photoshop actions that were able to create normals with very specific properties, but without proper tiling, I was able to design a custom toolset in Quartz Composer. Building on my experience with realtime blur development using CIfilter code (a subset of GLSL), I created a set of seamlesslly wrapped filters.

Colour texture inputs are converted to greyscale using channel mixing (automated balancing ensures the combination of red, green, and blue channels always equal 100%). This is then fed through basic levels and contrast effects, allowing the estimated depth map to be easily customised. The underlying detail frequencies are then mixed using to the shape slider, and the final results are instantly previewable with realtime lighting simulation both with and without the original texture.

Saving then exports the depth mask and normal map to lossless PNG images, along with a plain text file containing the processing settings for future reference.

Usage

The tool has proven invaluable in countless projects, quickly and easily creating normal maps for use in photoreal, illustrative, and special case productions.