PayasoPrince

Good Evening All,

I'm trying to figure out the best looking combination for my project.

From what I'm seeing PMA is objectively better looking than Straight Alpha, yes? From my review, Straight Alpha looks pretty washed out comparatively.

The problem is, I want to use Linear color space. I think nearly everyone would agree that Linear looks much better than Gamma.

Is there a reason that PMA does not work in Linear color space? Will there ever be support added so that both can be used?

Thanks!
User avatar
PayasoPrince
  • Posts: 38

Harald

PayasoPrince wrote:From my review, Straight Alpha looks pretty washed out comparatively.
Straight alpha and PMA only differ visually when you are using mipmaps. When viewed at 100% or larger, there is no difference at all.
PayasoPrince wrote:The problem is, I want to use Linear color space. I think nearly everyone would agree that Linear looks much better than Gamma.
Such a statement is too general to be true. It's like saying "nearly everyone will agree that screws are better than nails", there are certain use cases where nails are superior to screws (and there are plenty), it depends on what you want to achieve and what your requirements are.

Linear color space will produce less intuitive alpha blending results, which will be important for any sfx work. Artists are typically more used to the behaviour of layering semi-transparent effects in gamma space when e.g. using semi-transparent layers in image editors like Photoshop. Light falloffs when using normal maps and the effect of multiple lights will behave in a more physically correct way when using linear color space, so if your project requires a more realistic (faux-3D) look or you are mixing 2D and 3D elements, you might be better off with using linear color space. When you try to achieve a more classic 2D look, you might be better off with gamma color space. It all depends on the scenario.
PayasoPrince wrote:Is there a reason that PMA does not work in Linear color space? Will there ever be support added so that both can be used?
Yes, there is a reason :). Color conversion to linear space remaps the 256 values per channel to approximately pow(2.2, gammaColor), which is a different curve in the same 0-1 range. Now premultiplying atlas textures in linear color space would require either
  • a) floating point textures (in e.g. .exr format) to maintain precision which would be terribly wasteful, or
  • b) when storing PMA textures in linear space with normal 32 bits per pixel 8 bits per channel, the images would be terribly lossy (dark values being crushed).
User avatar
Harald

Harri
  • Posts: 4459


Return to Unity