2
$\begingroup$

I'm curious which type of normal map works better? DirectX or OpenGL normal maps? Which one to use for cycles and eevee?

$\endgroup$
  • 4
    $\begingroup$ Blender expects normal maps in the OpenGL format. The difference between the two is that the green channel is inverted from one to the other, so in the end it doesn't matter what you use, if you know how to use it - you get the same result. $\endgroup$ – Jaroslav Jerryno Novotny Feb 3 '18 at 16:06
6
$\begingroup$

Only DirectX applications use DX normal maps. And DirectX run only under Windows mainly due to license. For everything else you need to use OpenGL. For sure is good always check documentation.

On image below you can find simple way how to convert DX to OpenGL (or OpenGL to DX)

enter image description here

$\endgroup$
  • $\begingroup$ so when i use blender on windows I can use the DirectX version? $\endgroup$ – DrachenSeele Apr 28 '19 at 19:56
  • $\begingroup$ @DrachenSeele - unfortunately no, because Blender itself doesn't support DirectX textures $\endgroup$ – Shubol3D May 6 '19 at 19:45
  • $\begingroup$ OK, is there any way to distinguish DX and OGL? $\endgroup$ – DrachenSeele May 6 '19 at 19:47
2
$\begingroup$

Blender uses the OpenGL format. This image shows an optimized version of normal map conversion, because it doesn't convert between number and color, so it is faster with Cycles and EEVEE:

OpenGL to DirectX normal map

This second picture shows how you can recognize OpenGL normal maps just by looking at them. Notice, that on OpenGL normal map it looks as if there is light shining from top right, while on DirectX it's from bottom right direction.

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.