mirror of https://github.com/GNOME/gimp.git
Update with a new version that is the best known so far (maybe it's even
* app/gegl/gimpoperationadditionmode.c (gimp_operation_addition_mode_process): Update with a new version that is the best known so far (maybe it's even correct?). svn path=/trunk/; revision=27269
This commit is contained in:
parent
b387734c3d
commit
bce95343c8
|
@ -1,3 +1,9 @@
|
|||
2008-10-13 Martin Nordholts <martinn@svn.gnome.org>
|
||||
|
||||
* app/gegl/gimpoperationadditionmode.c
|
||||
(gimp_operation_addition_mode_process): Update with a new version
|
||||
that is the best known so far (maybe it's even correct?).
|
||||
|
||||
2008-10-13 Sven Neumann <sven@gimp.org>
|
||||
|
||||
Bug 547967 – Improve app/paint-funcs/ maintainability
|
||||
|
|
|
@ -72,11 +72,21 @@ gimp_operation_addition_mode_process (GeglOperation *operation,
|
|||
while (samples--)
|
||||
{
|
||||
#if 1
|
||||
// Best so far (maybe even correct?)
|
||||
dest[RED_PIX] = src[RED_PIX] + aux[RED_PIX] * aux[ALPHA_PIX];
|
||||
dest[GREEN_PIX] = src[GREEN_PIX] + aux[GREEN_PIX] * aux[ALPHA_PIX];
|
||||
dest[BLUE_PIX] = src[BLUE_PIX] + aux[BLUE_PIX] * aux[ALPHA_PIX];
|
||||
dest[ALPHA_PIX] = src[ALPHA_PIX];
|
||||
#else
|
||||
// Wrong, doesn't take layer opacity of Addition-mode layer into
|
||||
// account
|
||||
dest[RED_PIX] = src[RED_PIX] + aux[RED_PIX];
|
||||
dest[GREEN_PIX] = src[GREEN_PIX] + aux[GREEN_PIX];
|
||||
dest[BLUE_PIX] = src[BLUE_PIX] + aux[BLUE_PIX];
|
||||
dest[ALPHA_PIX] = src[ALPHA_PIX];
|
||||
#else
|
||||
|
||||
// Wrong, toggling visibility of completely transparent
|
||||
// Addition-mode layer changes projection
|
||||
dest[RED_PIX] = src[RED_PIX] * src[ALPHA_PIX] + aux[RED_PIX] * aux[ALPHA_PIX];
|
||||
dest[GREEN_PIX] = src[GREEN_PIX] * src[ALPHA_PIX] + aux[GREEN_PIX] * aux[ALPHA_PIX];
|
||||
dest[BLUE_PIX] = src[BLUE_PIX] * src[ALPHA_PIX] + aux[BLUE_PIX] * aux[ALPHA_PIX];
|
||||
|
|
Loading…
Reference in New Issue