Skip to main content
Inspiring
March 14, 2017
Solved

ASTC compression in Unreal 4 not compressing HDR textures

  • March 14, 2017
  • 3 replies
  • 2106 views
This guide over here recommends using ASTC over ETC2. It makes perfect sense for my project as we are using quite a few HDR textures and ASTC is excellent at compressing these:
http://malideveloper.arm.com/documentation/developer-guides/arm-guide-unity-enhancing-mobile-games/

However I've noticed that Unreal 4 does not compress HDR textures at all with ASTC, I suspect because such functionality has not been implemented in the Cooker. Is this also the case with Oculus's branch of Unreal?
This topic has been closed for replies.
Best answer by Norman3D
For the record, it does seem like a bug. It's a shame as it prevents developers from using HDR textures on mobile devices, or it forces them to pay a huge cost in terms of memory and space.
Here is a link to the answerhub thread, you can find the entry in the issue tracker as well:
https://answers.unrealengine.com/questions/575212/astc-compression-not-compressing-hdr-compressed-or.html

3 replies

Inspiring
March 14, 2017
Moving to Unreal Developer section.
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
Norman3DAuthorAnswer
Inspiring
March 16, 2017
For the record, it does seem like a bug. It's a shame as it prevents developers from using HDR textures on mobile devices, or it forces them to pay a huge cost in terms of memory and space.
Here is a link to the answerhub thread, you can find the entry in the issue tracker as well:
https://answers.unrealengine.com/questions/575212/astc-compression-not-compressing-hdr-compressed-or.html
Norman3DAuthor
Inspiring
March 21, 2017


Hi,

We don't encourage developers to use HDR on mobile, as there would be a large bandwidth cost.




This is not the same as mobile HDR (which is what I believe you are referring to.) This issue happens specifically with HDR textures. The issue is that Epic has not fully implemented ASTC, so HDR textures for example are not compressed causing a huge memory footprint. Compressed textures are totally fine on memory and on disk.
My current workaround consist of using LogLuma encoding and saving it as an 8bit RGB. I then de-encode it in the shader. Unfortunately it costs me a bit on the pixel shader, which I would be able to avoid if ASTC HDR compression was implemented. I can still manage with the LogLuma encoding, it's just that I'd rather not use it if it was possible :)