User Guide Cancel

What is the difference between the OpenGL and DirectX normal format ? | Substance 3D bakers

  1. Substance 3D home
  2. Home
  3. Getting Started
    1. What is Baking?
    2. Software interface
      1. Substance 3D Painter
      2. Substance 3D Designer
      3. Substance 3D Automation Toolkit
    3. Availability per software
    4. Compatible 3D software
    5. Tutorials
  4. Bakers settings
    1. Common Parameters
    2. Ambient Occlusion
    3. Ambient Occlusion from Mesh
    4. Bent Normals from Mesh
    5. Color Map from Mesh
    6. Convert UV to SVG
    7. Curvature
    8. Curvature from Mesh
    9. Curvature from Mesh (deprecated)
    10. Height Map from Mesh
    11. Normal Map from Mesh
    12. Opacity Mask from Mesh
    13. Position
    14. Position map from Mesh
    15. Thickness Map from Mesh
    16. Transferred Texture from Mesh
    17. World Space Direction
    18. World Space Normals
  5. Guides
    1. Error and Warning Messages
    2. Performances and optimizations
    3. Triangulating before baking
  6. Features
    1. Geometry Cache
    2. GPU Raytracing
    3. Matching by Name
    4. Tangent Space
  7. Common questions
    1. How to export the baked maps?
    2. Is dithering applied to baked textures?
    3. Should I enable "Compute tangent space per fragment"?
    4. What are Assbin files?
    5. What is the bit depth of baked textures?
    6. What is the difference between the OpenGL and DirectX normal format?
    7. Why are there strange stretches in my textures after baking or exporting?
    8. Why is Matching by Name not working with Ambient Occlusion/Thickness?
    9. Why is my mesh fully black after baking?
  8. Common issues
    1. Aliasing on UV Seams
    2. Baker output is fully black or empty
    3. Baking failed with Color Map from Mesh
    4. Black shading cross are visible on the mesh surface
    5. Mesh parts bleed between each other
    6. Normal map has strange colorful gradients
    7. Normal texture looks faceted
    8. Seams are visible after baking a normal texture
    9. Seam visible on every face
    10. Texture baked outside of Substance software looks incorrect

What is the difference between the OpenGL and DirectX normal format ?

Alert:

Question

What is the difference between the OpenGL and DirectX normal format ?


Note:

Explanation

OpenGL and DirectX are two graphic APIs (sets of functions) that programmers use in their application to dialog with the GPU (Graphic Processing Unit). In terms of normal maps, the difference result in how the green channel of a RGB texture should be interpreted. OpenGL expects the first pixel to be at the bottom while DirectX expects it to be at the top. This is often why in various technical discussion it is recommended to try to invert the green channel of a normal map to see if it behave better as it reverses the pixel values (first becomes last). OpenGL can be referred as Y+ (bottom-up) while DirectX is referred as Y- (top-down).

To know which format to use, refer to the target application in which your textures will be used.

Get help faster and easier

New user?