This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Recommended HDR pipeline using OpenExr to ASTC?

Hi, We're currently looking to switch to ASTC, though I do have some queries regarding the graphics pipeline for HDR formats.

Since we're looking to retain image quality as much as possible, can we use an Exr format for rendering (We currently use this for creating out lightmaps), and convert them directly to ASTC for our build?

It just when I've loaded exr files in to Mali it appears to compromise the image data (Darkening down), I presume it's clamping the channels?  

Is there a recommended pipeline for converting HDR images to ASTC that won't compromise the data?

Cheers,

Caroline

Parents
  • Hi Caroline,

    Do you have a reproducer you can share (reference images, and compressor settings you are using)?

    Do you know if the darkening happens due to the compression itself, or due to the subsequent processing on the device?

    Cheers,
    Pete
Reply
  • Hi Caroline,

    Do you have a reproducer you can share (reference images, and compressor settings you are using)?

    Do you know if the darkening happens due to the compression itself, or due to the subsequent processing on the device?

    Cheers,
    Pete
Children
  • Hi Peter,

    Please see attached the test sample you request. This sample file has been generated via Maya's 'Render to Texture', using a simple sphere and basic texture.

    When the .exr file is loaded in to Mali Texture Compression tool, the .exr files load without any problems apart from appearing considerably darker and possibly clamping channels?

    The image darkening is actually happening before the compression stage. I've included an example screen shot of how this appears in Mail and Photoshop (Photoshop showing how it should appear).

    Please could you advise whether the original .exr is being compromised in the Mali viewer? And is there a recommended pipeline for handling .exr images with ASTC?

    Cheers,

    Caroline
  • I am not sure how to view any attachments you provided - I'll follow up with our web team to see if it is possible via forum comments.

    I am still not sure how you are verifying the darkening; is this just visual output on the Mali Texture Compression Tool screen? Is the actual data in the texture itself too dark when viewed on an actual Mali GPU?

    The Mali Texture Compression Tool GUI is outputting to an LDR rendered output, so there needs to be some color transform when display the results (either dynamically rescaling the HDR value to fit into the 0 - 1 LDR range, or clipping). This is totally orthogonal to the data which ends up in the actual ASTC texture on disk.

  • Hi Peter,

    Yes I wanted to send you the original file so you take a look at it in more detail, I've just tried to reattach (See image below), It looks as though I can't send you the original OpenExr file as this blog doesn't seem to recognize that file format?  Though you can see it in the example below; test file just show a very basic 'Render To Texture' setup using OpenExr for light mapping.  

    Ideally we would like to be able to view HDR files within the Mali Texture Compression Tool and be able to view the before and after compression, so we can evaluate what optimal compression settings would be suitable for our work. But you seem to indicating that it Mali can not handle HDR files without altering and compromising the values, is that the case?

    Thanks,

    Caroline

  • When displaying an HDR texture on an LDR application the view on screen is inevitably "wrong"; the application has to do something to map the HDR color range to the LDR output (either by rescaling, clipping, or tone mapping).

    The GUI of the Mali Texture Compression Tool should be independent of the compressor; even if the on-screen view is incorrect, the compressed ASTC texture should still maintain the HDR range (assuming you picked an HDR compression mode). Are you losing the high-dynamic range in the compressed texture output when the ASTC texture is used by the GPU in OpenGL /OpenGL ES rendering?