Home Technical Talk

16 bits displacement vs 32 bits precision(SOLVED)?

triangle
Offline / Send Message
Poly_Nut triangle
I am currently struggling to see the difference between my 16 bits and 32 bits displacement, i did a search but nothing was very conclusive and surprisingly i didn't saw any image comparison!

Is there a tremendous difference or very slight since most of the Photoshop tools are not working with 32 bits images and many blending mode act strange once convert to 32 bits?

Replies

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    There's a huge difference in terms of the range of values that can be stored (2.1 billion vs 65 thousand) 

    Your monitor can't display the difference and your eyes would struggle to detect it even if it could.

    Practically speaking you don't really need the precision offered by a 32 bit image for most game art related situations as everything gets trashed by compression but it is always a good idea to work at the highest level of precision available/practical.

    TLDR: 16bit is fine for most things

    Edit (cos I forgot we were talking about displacement) :  work at 32 for height maps if possible as that's where you're most likely to see precision artefacts like banding in the resultant mesh
  • Poly_Nut
    Offline / Send Message
    Poly_Nut triangle
    poopipe said:
    There's a huge difference in terms of the range of values that can be stored (2.1 billion vs 65 thousand) 

    Your monitor can't display the difference and your eyes would struggle to detect it even if it could.

    Practically speaking you don't really need the precision offered by a 32 bit image for most game art related situations as everything gets trashed by compression but it is always a good idea to work at the highest level of precision available/practical.

    TLDR: 16bit is fine for most things

    Edit (cos I forgot we were talking about displacement) :  work at 32 for height maps if possible as that's where you're most likely to see precision artefacts like banding in the resultant mesh
    Thank for the quick reply but for working these displacement map in Photoshop should i just work in 16 bits since all tools seem to work with 16 bits and then when finish convert to 32 bits before export?
  • EarthQuake
    Poly_Nut said:
    poopipe said:
    There's a huge difference in terms of the range of values that can be stored (2.1 billion vs 65 thousand) 

    Your monitor can't display the difference and your eyes would struggle to detect it even if it could.

    Practically speaking you don't really need the precision offered by a 32 bit image for most game art related situations as everything gets trashed by compression but it is always a good idea to work at the highest level of precision available/practical.

    TLDR: 16bit is fine for most things

    Edit (cos I forgot we were talking about displacement) :  work at 32 for height maps if possible as that's where you're most likely to see precision artefacts like banding in the resultant mesh
    Thank for the quick reply but for working these displacement map in Photoshop should i just work in 16 bits since all tools seem to work with 16 bits and then when finish convert to 32 bits before export?
    No, converting to 32 bit would do nothing for you if done at the end. This would result in larger files but no additional information.

    Even for displacement, 16 bit is usually enough and 32 bit is rarely needed. You can do some tests in your game engine or renderer to compare the difference between 32 and 16 bit. Working in 32 bit, in Photoshop particularly, is a in a pain in the ass. I would only work in 32 bit space if you really need it, since it means massive files and incompatibility with many tools and features in PS.

    Generally speaking, you only need to use 32 bit mode in PS when working with HDR images (ie: sky box panoramas). For every day asset creation, 16 bit is plenty, and overkill in most cases.

    There's a certain camp in game dev who think you should always work at double resolution and double bit-depth... just incase... you need it someday... Well, you can do that of course, if you don't mind having file sizes that are 16 times bigger than they need to be and take forever to save and load, but personally, I think it's usually more sensible to author at something closer to your target.
  • Noren
    Offline / Send Message
    Noren polycounter lvl 19
    If it has been converted to 16 bits, you have removed the additional information, converting it back to 32 bit won't magically recreate it (you could blur it afterwards, of course, but that will only work in certain cases with little to no details).
  • gnoop
    Offline / Send Message
    gnoop sublime tool
    I have never noticed any difference for displacement.          Photoshop seems saves only 16 bit  HAlf float exrs  anyway   but 16 bit integer always worked fine for me too
  • Poly_Nut
    Offline / Send Message
    Poly_Nut triangle
    Poly_Nut said:
    poopipe said:
    There's a huge difference in terms of the range of values that can be stored (2.1 billion vs 65 thousand) 

    Your monitor can't display the difference and your eyes would struggle to detect it even if it could.

    Practically speaking you don't really need the precision offered by a 32 bit image for most game art related situations as everything gets trashed by compression but it is always a good idea to work at the highest level of precision available/practical.

    TLDR: 16bit is fine for most things

    Edit (cos I forgot we were talking about displacement) :  work at 32 for height maps if possible as that's where you're most likely to see precision artefacts like banding in the resultant mesh
    Thank for the quick reply but for working these displacement map in Photoshop should i just work in 16 bits since all tools seem to work with 16 bits and then when finish convert to 32 bits before export?
    No, converting to 32 bit would do nothing for you if done at the end. This would result in larger files but no additional information.

    Even for displacement, 16 bit is usually enough and 32 bit is rarely needed. You can do some tests in your game engine or renderer to compare the difference between 32 and 16 bit. Working in 32 bit, in Photoshop particularly, is a in a pain in the ass. I would only work in 32 bit space if you really need it, since it means massive files and incompatibility with many tools and features in PS.

    Generally speaking, you only need to use 32 bit mode in PS when working with HDR images (ie: sky box panoramas). For every day asset creation, 16 bit is plenty, and overkill in most cases.

    There's a certain camp in game dev who think you should always work at double resolution and double bit-depth... just incase... you need it someday... Well, you can do that of course, if you don't mind having file sizes that are 16 times bigger than they need to be and take forever to save and load, but personally, I think it's usually more sensible to author at something closer to your target.
    Thank a lot and it made a whole lot of sense since working in 32 bits is a real pain!
  • Poly_Nut
    Offline / Send Message
    Poly_Nut triangle
    Noren said:
    If it has been converted to 16 bits, you have removed the additional information, converting it back to 32 bit won't magically recreate it (you could blur it afterwards, of course, but that will only work in certain cases with little to no details).
    Thank for explaining since there is not a lot of info on the subject.
  • Poly_Nut
    Offline / Send Message
    Poly_Nut triangle
    gnoop said:
    I have never noticed any difference for displacement.          Photoshop seems saves only 16 bit  HAlf float exrs  anyway   but 16 bit integer always worked fine for me too
    Thank and after a few test i didn't see any difference either so i will stick with 16 bits and keep my sanity loll
Sign In or Register to comment.