Texture Optimization Info

Texture optimization is done to save video memory at no visual quality-loss. This is done by several methods, individual for each texture and it's use. Most commonly by converting diffuse-maps to DXT1/DXT5, and rescaling normal-maps and specular-maps.


Scaling:
Scaling textures according to the objects they cover, is more important than scaling according to screen resolution, contrary to popular belief. It's true that if you have a higher screen resolution, then you also need a bigger texture to cover the same object, but proper scaling in relation to the specific object is still far more important. As a rule of thumb, the texture size needed is twice the size of the amount of pixels that the object takes of the screen when showing. (With lots of exceptions of course)
Example: The texture for a mug. This object is rather small, and will never take up a significant percentage of the screen. (Unless unusually closely examined) An object this size doesn't need a texture size that matches your screen resolution to look perfect. You will not gain any quality improvement what so ever by using a huge texture on a small object. The perfect texture size for a mug, using a 4k monitor, will therefore not be a 4k texture, but rather something like a 2k diffuse-map with 1k normal-maps & 1k specular-maps.
Example: The texture for a tree. This is a huge object, that can cover a large percentage of the screen, even without showing the entire object. This texture therefore needs to be bigger than your screen resolution. On a 4k monitor, the perfect size would probably be 8-16k, depending on your system recourses and your eye for detail.
Proper scaling: The first and most important thing is to ensure that the texture looks good at 100% size in 2D. Meaning, resize according to the quality of the texture without thinking of the object. When quality is perfect, then the size needs to be compared to the object. If still too big (This rarely happens) then it can be downsized further.
This is unfortunately a very common issue with texture mods. A lot of mod authors (even Bethesda themselves) do a little "cheating" when making HD textures. They take a 2k texture, and simply stretch it in Photoshop to make it 4k. This is completely useless. A 4k texture that is made by stretching a 2k texture, will look 100% identical in-game. Absolutely no difference what so ever, not even a little. The only difference is that the 4k texture wastes 4 times the amount of video memory. The reason they do it, is because it looks better to state that the textures are 4k. A cheap little marketing trick, which unfortunately is very common. However, when loaded into Photoshop, these "fake" HD textures are easily spotted, and can be downsized again without problems.


Compression:
Another common mistake, is missing or wrong texture compression. If a texture is compressed where it shouldn't be, or left uncompressed where it actually could be optimized, the quality won't be optimal, and the mod may take up way more video memory than needed. This is very common too.
Memory-usage by formats:
Uncompressed 32-bit ARGB 4k texture size = 64mb
Uncompressed 24-bit RGB 4k texture size = 44mb
DXT5 with alpha (transparency) 4k texture size = 22mb
DXT1 no alpha 4k texture size = 11mb
Proper compression: With hundreds of textures loaded at the same time, quite a lot of video memory can be saved by having proper compression. However, not all textures can be compressed without quality-loss, so it's very important only to compress the right texture types, and to take pixel-size into consideration as well.


Texture types - Diffuse-maps:
These are textures that put an image on the surface of an object. They are needed for every single object in the game, and are the most important textures. Without a diffuse-map, the object would be all pink. This texture can usually be compressed with DXT1 or DXT5 without any visual difference in the game. On a close-up screenshot you may, or may not, notice a tiny difference (not necessarily worse), but that's it.
Texture types - Normal-maps:
These textures are light-pointers. They provide a map of how light should look on the texture, making it look like a real surface, nut just a flat image wrapped around an object. These typically needs to be either left uncompressed or, depending on the object of use, compressed with DXT5.
Texture types - Specular-maps:
These textures determine the amount of shine and where. Typically used to make objects look wet, or to simulate a certain material. As these usually consist of dot-like points and lines rather than large smooth ranges, DXT5 can be used in 99% of cases for these.


Aim of SSEBP texture compression:
To save as much video memory as possible without loss of quality, minded for 1080p/2160p.
Example of a standard optimal texture set: 4k diffuse-map compressed with DXT1/DXT5, 2k normal-map compressed with DXT5/uncompressed, and 2k specular-map with DXT5 compression.
*Optimal compression/scale varies depending on object size/type, the original texture quality, and in-game use/location.


Free texture software:
Nvidia texture plug-in for Photoshop: (LINK)
Nvidia texture tools/viewer/3DS Max plug-in: (LINK)
While Adobe Photoshop is my strong personal preference, GIMP is a 100% free and a very capable image editing tool: (LINK)

 

If you notice ANY in-game quality-loss caused by SSEBP texture optimization mods, please let me know: (LINK)