Home Technical Talk

Normal map DXT5 vs non-compressed-half-resolution, opinions?

polycounter lvl 7
Offline / Send Message
Borx25 polycounter lvl 7
DXT5 is what is used most of the time for saving normal maps (and DXT1 for the rest) in TESIV: Skyrim but it's a lossy format and some people say that because normal maps are actually 3d vectors and not just perceived color their compression is a no-no. The option they recommend instead is halving the resolution (2048x2048 to 1024x1024) but saving them uncompressed (same weight in the end).

But, in skyrim normal map's alpha is the specular map so in that process you are also halving the resolution of the specular map, so more sacrifice to avoid the artifacts.

From my experience the posible artifacts caused by dxt compression on normal maps aren't really that harmful/noticiable and, in my opinion, not enough so that half resolution of both normal and specular is a better choice.

I'd like to hear some opinions on the matter. Maybe it depends on the situation, like for example, if you have a soft clean surface you may not need as much resolution to represent it and the artifacts can surely be more noticiable but instead on a rough surface you may want to have resolution to better represent it and artifacts are probably going to be hidden, what kind of rules would you follow, if any?

Replies

  • Scruples
    Offline / Send Message
    Scruples polycounter lvl 10
    I suggest reading the entirety of the 'Of Bit Depths, Banding-' thread, it's only 4 pages but the most relevant information is on page 2.
    http://polycount.com/discussion/148303/of-bit-depths-banding-and-normal-maps/p1

    I'm pretty sure Skyrim uses swizzled (Dxt5nm) normal maps so it should be good enough for even highly reflective surfaces.
  • JedTheKrampus
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    BC5 is a better choice than either if you can use it in almost any situation. Basically it compresses the red and green channels each independently in a similar way to how DXT5 alpha is compressed. UE4 and Cryengine both support it although Unity doesn't IIRC.
  • beefaroni
    Offline / Send Message
    beefaroni sublime tool
    BC5 is a better choice than either if you can use it in almost any situation. Basically it compresses the red and green channels each independently in a similar way to how DXT5 alpha is compressed. UE4 and Cryengine both support it although Unity doesn't IIRC.
    BC5 is great. If need be apply a small amount of noise in photoshop (1-2%) to any mirror like surfaces (metals, etc) and that should clean up any noticeable artifacts. . 
  • Borx25
    Offline / Send Message
    Borx25 polycounter lvl 7
    Thanks for the answers :)
    Skyrim doesn't support BC5 afaik, so i guess i'll have to stick to DXT5
    About Dxt5nm, doesn't that mean that the red goes into alpha and then red and blue are filled with the same color. If in skyrim normal map alpha channel is the specular map (yeah no colored specular...) then you can't use Dxt5nm right?
Sign In or Register to comment.