Normal Map Formats

In this article you'll learn the different between DirectX and OpenGL normal maps and why it's important to know which one you need.

Updated over a week ago

What is a normal map?

A normal map is a texture that rendering engines use to fake bumps and imperfections on a surface. They’re very effective and also very efficient and nearly all materials will make use of them in one way or another.

All Poliigon Materials include a normal map.


There are two common formats of normal maps, DirectX and OpenGL, both do the same job but need to be interpreted differently. It’s important to know which type your engine is expecting otherwise the results you get will be incorrect.

Poliigon materials use the OpenGL normal format.

Application Compatibility

Here is a list of the most common renderers and what format they are expecting.

Cycles/Eevee - OpenGL

Vray - DirectX (as default, there is a ‘invert green channel’ to allow for OpenGL)

Redshift - OpenGL

Corona - DirectX (as default, there is a ‘invert green channel’ to allow for OpenGL)

Arnold - OpenGL

Octane - OpenGL

As you can see from the list above, OpenGL is the one most commonly used and even on the renderers that default to DirectX, there is an option to invert the green channel so you can use OpenGL normal maps. This is the important different between the two formats in fact, the green channel is opposite from DirectX to OpenGl. So if you have one format but need the other, inverting the green channel is all that's needed to fix the problem.

Just be sure to use the format that is required by your renderer.

If you’re using a renderer that isn’t listed here, try and find out the format of the normal map that is expected via google or the renderers support website.

If you have any further questions regarding this please feel free to contact us.

Did this answer your question?