Squricle Normal: A Procedural Normal Map Generator

by Squircle Art in Render Setups

Procedural Normal Map Generation In Blender !

Squircle Normal is a compositor node group designed to bring normal map generation right into blender without any third party apps! Convert your height and diffuse textures into tangent/global space normal maps!


The node group takes an image representing a texture and returns:

  • Tangent Normals: A tangent space normal map.
  • Global Normals: A global space normal map.
  • Inverse Global Normals: A global space normal map with negative z component.

See It In Action:

Leverage the power of blender's compositor for fine control over your maps!

Extracting the finest details from your image!

Near realtime results, fast preview!

Use Blender's features in your creations!

Changes in v1.3:

  • Added invers global normals output. Useful in computing dot products.
  • Organized node tree.

Changes in v1.2:

  • Slightly faster.
  • Corrected the normal computing equation.
  • Removed derivative map output.

Changes in v1.1:

  • Optimized node tree.

Changes since Beta Version:

  • A basic central finite difference operator is now used instead of sobel operator. This improves performance but introduced subtle noise in high frequency details.
  • More accurate computation of normals.
  • 3x faster.
  • Global space normals were added.
  • Accurate derivative map was introduced.
  • NonSeamless map generation operator was removed.
  • MultiSpectrum operator was removed.

The compositor node group can be appended to your project or used directly from the provided blend file. The node group takes a height map and return the normals of the surface represented by that map. Other types of maps—like diffuse maps—can be used, in which case, they are treated as height maps through conversion to greyscale.

The only available input is the multiplier input which gets multiplied to the input height map controlling its rate of change. In other words, it controls the strength of the normal map where negative values invert the normal map.

When using highly detailed high resolution images, the generator will try to capture all of the details resulting in a rather noisy normal map. Such maps may not always be desired, instead, one might choose to ignore those high frequency details and enhance the low frequency ones. In which case, a blur node can be used where the blur radius controls the amount of details one wants to capture. Additionally, one might use an RGB Curve node to further tune one's output.

It is advised to use the combination between the blur and RGB Curve nodes for fine control over the output where bluring controls the amount of details and RGB Curve controls the level of details as noted in the foregoing example.

No FAQ's found for this product.

Item Rating

This item has an average rating of 5 from 1 ratings by the community.

  • Craig Jones almost 2 years ago

    This is one of my favorite purchases here - love the way it is a simple interface node input and works for a lot of different situations.

Purchase this item to leave a review!