No announcement yet.

bit depth of exported textures

  • Filter
  • Time
  • Show
Clear All
new posts

  • bit depth of exported textures

    If I bring in textures with 32bit or 16bit, what happens to them upon export? do they retain native bit depth or do they get downscaled to 8 bit? (question not applicable to jpegs as these are always 8 bit)

    I've checked the documentation but it's not mentioned:

    A little update on the question: I've opened the texture before it went into speedtree and after once it came out of speedtree and I have a very bad news: the image was 16bit before and 8bit after, the very same image.
    Is there a way not to loose quality in speedtree?

    Another update as I've done some test exports: if you give speedtree a 16bit tiff as input texture it will give you back:
    8bit png
    8bit tif
    32bit exr
    8bit tga

    the only way to to avoid 8bit is to go EXR 32bit, no way to stay 16bit, right?
    Attached Files
    Last edited by vegipolygon; 06-16-2020, 03:48 PM.

  • #2
    Hi vegipolygon : you are correct. Currently our modeler's texture processing is 8-bit (and do export 32-bit linear space exr files with VFX exporting) but when importing textures it is still 8-bit.

    We will log your request with our developers and apologize for the inconvenience. Thank you for investigating and asking!


    • #3
      Further clarification about the exr route: is it correct that even if I choose to export 32bit EXR, the texture was already destroyed (downscaled to 8bit) upon import and when exporting to 32bit, SpeedTree is inventing colour information by duplicating, i.e. making the artifacts even worse.
      is this correct? or is the EXR route a safe route that maintains quality even upon import?

      On a side note, I'm deeply disappointed, can you image buying a high end camera, shooting RAW, laborious work in Lightroom, carefully keeping all the colour information throughout all the software in the workflow, only to loose everything in speedtree as if I've shot with a bad smartphone? do you know how it feels? It might have been an excuse of some software that is priced at $19, to add insult to injury the price of SpeedTree places it as the most expensive.

      Can I have a precise date for fixing this, because until then, SpeedTree is useless.


      • #4

        There are many areas where textures are processed in full bit depth, such as maps during static mesh exporting or rendering screenshots as EXR, etc.

        Kat was alluding to the fact that there are a few places, mostly during game exporting, where textures are processed wholly on the GPU, and that data is currently uploaded/downloaded in RGBA8. This includes the texture atlassing and texture packing steps. Also, the viewport in the Modeler uses 8-bit textures, sometimes even downscaled versions of them, to save on VRAM when you have many materials on a big tree.

        So yes, your textures are processed as full float during static mesh export, so long as you aren't rendering new unwrapped textures during export. We most likely will improve those other areas in the future, too. Currently EXR only comes out as linear 32bit, but perhaps we can add another option or two there as well.


        • #5
          If every input is downscaled to 8 bit any discussion about exporting becomes irrelevant because the colours were lost forever upon import.

          Speedtree doesn't import EXRs, this is a fact.
          SpeedTree downscales a 16 bit tiff to 8 bit tiff/tga/png, this is also a fact.

          If I can't bring in EXRs, and my imported 16 bit tiff is downscaled, how can we say that textures are "processed as full float during static mesh export"?

          So focusing on what really matters, the import, let me ask a simple question, for which I'm afraid I might already have the answer:

          Upon import, does speedtree downscale every imported texture to 8 bit?
          Last edited by vegipolygon; 06-20-2020, 01:06 AM.


          • #6
            Different textures. They’re processed from scratch during export.