White points in final render

Started by seb, March 14, 2011, 04:42:33 PM

Previous topic - Next topic

seb

Hello!

Here my problem. On this render you can see whites points. Why?
I use an image with format png in a part shader.

Thanks for your help!


(I'm french sorry for my bad english :-\)

cyphyr

I "think" this is caused by the "Un-premultiply colour" setting, try with it set to off (un-ticked).
Its dependant on the settings the png was saved with so this solution won't always be valid.
Hope this helps
Richard
www.richardfraservfx.com
https://www.facebook.com/RichardFraserVFX/
/|\

Ryzen 9 3900X @3.79Ghz, 64Gb (TG4 benchmark 6:20)
Ryzen 9 5950X @3.4Ghz, 16Gb (TG4 benchmark 4:28)

seb

Thanks!! It is that!
But which is exactly the function of the unpremultiply colour? I will ever have thought of that...

Thank you very much for your help!!

Oshyan

It's not a TG-specific thing. Here's some info: http://en.wikipedia.org/wiki/Alpha_compositing
QuoteIf an alpha channel is used in an image, it is common to also multiply the color by the alpha value, to save on additional multiplications during compositing. This is usually referred to as premultiplied alpha. Thus, assuming that the pixel color is expressed using RGBA tuples, a pixel value of (0.0, 0.5, 0.0, 0.5) implies a pixel which is half green and has 50% coverage. (Explanation: The RGB values are the first three values, (0, 0.5, 0) and the alpha value is the fourth, 0.5. If the color were fully green, its RGB would be (0, 1, 0). Since this pixel is using a premultiplied alpha, all of the RGB values in the ordered triplet (0, 1, 0) are multiplied by 0.5 and then the alpha is added to the end to yield (0, 0.5, 0, 0.5).) Premultiplied alpha also has some advantages over normal alpha blending because premultiplied alpha blending is associative and linear interpolation gives better results.
http://en.wikipedia.org/wiki/User:Lkesteloot/premultiplied_alpha

If none of that makes any sense, it's just something to be aware of that some objects will come with images that have or have not been premultiplied, and thus you sometimes need to unpremultiply.

- Oshyan