Transparency: additive color blending

Hi,
Matlab seems to use the classical way to handle alpha channels, so that transparency works in a way 'subtractively', like layers of translucent fabric. If you pile up patches set with FaceAlpha = 0.5, say, you'll eventually end up with a dark zone.
I'd like to generate an additive mix, corresponding to the superposition of several light sources. Piling up enough of these patches would eventually lead to a white zone. If you code in OpenGL you can play with different modes of alpha blending, but I haven't found a similar way to do it in Matlab.
Thanks for any clue!
P.

3 件のコメント

Walter Roberson
Walter Roberson 2013 年 6 月 26 日
For any one layer, would your coefficient still be in opacity (i.e., 0 = transparent, 1 = opaque), or would you be using a transmittivity coefficient? Or, I suppose, an emistivity coefficient of some sort. A brightness even? (A bright red light plus a dull blue light is going to look mostly bright red rather than the result being additive purely on wavelength.)
Pierre
Pierre 2013 年 6 月 27 日
I basically thought of adding alpha-premultiplied color channels (works only on a black background). Said otherwise: not multiplying the destination color by (1-alpha_src).
There may be smarter ways to do this. Please suggest them! Nevertheless 1) I'd like the color mix to be symmetrical; 2) it must be codable in Matlab!
Richard Voigt
Richard Voigt 2013 年 7 月 22 日
I just went looking for pretty much exactly the same thing. Have a couple answers which are "close" but still not achieving symmetry.

サインインしてコメントする。

回答 (0 件)

質問済み:

2013 年 6 月 26 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by