Overall, normal mapping is a versatile technique, and should be used by any 3D artist and designer to speed up and improve their workflow.
You will see normal mapping employed not only in scenarios when hardware constraints are extremely important like video games, which require scenes to be rendered in real-time for the gamer, but also in computer-animated movies, architectural visualization, and product design.
Normal mapping doesn’t affect the colorization of an object, so you will see it used most often in instances where an object’s surface isn’t perfectly flat or smooth. To be fair, this means nearly every 3D model could use a normal map to approve its realism, from worn leather, bumpy wood grains, human skin, fabric, and more.
There are several essential tools and software that are commonly used for normal mapping. Here are a few of them:
1. 3D modeling software: Tools like Blender, Maya, ZBrush, and Substance 3D Modeler are used to create the models that will be used for normal mapping. There are many great software solutions which all bring their own approaches to modeling and sculpting.
2. Texture painting software: Software like Substance 3D Painter or even Adobe Photoshop can be used to create and edit texture maps, including normal maps.
3. Normal map generators: Normal map generation software helps create normal maps from high-resolution geometry or texture information. Tools like xNormal, CrazyBump, or Substance 3D Designer can generate normal maps based on various inputs.
4. Game Engines: Game engines like Unreal Engine and Unity have built-in support for normal mapping. These engines provide necessary tools and rendering capabilities to take advantage of normal maps. They are equally great for creating renders as they are creating gaming experiences.
5. Shader programming languages: Understanding shader programming languages like HLSL (High-Level Shading Language) or GLSL (OpenGL Shading Language) can be useful for creating custom shaders that take advantage of normal mapping. These languages allow developers to define how lighting interacts with normal and other texture maps to achieve amazing visual effects.
This list may not be all inclusive, but it offers creators a great place to start in forming a foundational understanding of normal mapping and how to implement them in real-time rendering environments.