Hi,
all blend modes that operate in Lab space have some special treatment
for the case that a module sets the flag IOP_FLAGS_BLEND_ONLY_LIGHTNESS.
However, I cannot find any module that actually sets this flag.
Furthermore, it seams to me not reasonable why the behavior of a blend
mode should depend on a module flag.
Can we get rid of this? Is there any good reason why we have this in
darktable?
To give an example,
if(flag == 0)
{
tb[1]
=clamp_range_f(ta[1]*(1.0f-fabsf(tbo-tb[0]))+0.5f*(ta[1]+tb[1])*fabsf(tbo-tb[0]),
min[1], max[1]);
tb[2]
=clamp_range_f(ta[2]*(1.0f-fabsf(tbo-tb[0]))+0.5f*(ta[2]+tb[2])*fabsf(tbo-tb[0]),
min[2], max[2]);
}
else
{
tb[1] = ta[1];
tb[2] = ta[2];
}
in _blend_darken would simplify to
tb[1]
=clamp_range_f(ta[1]*(1.0f-fabsf(tbo-tb[0]))+0.5f*(ta[1]+tb[1])*fabsf(tbo-tb[0]),
min[1], max[1]);
tb[2]
=clamp_range_f(ta[2]*(1.0f-fabsf(tbo-tb[0]))+0.5f*(ta[2]+tb[2])*fabsf(tbo-tb[0]),
min[2], max[2]);
Heiko
--
-- Number Crunch Blog @ https://www.numbercrunch.de
-- Cluster Computing @ https://www.clustercomputing.de
-- Social Networking @ https://www.researchgate.net/profile/Heiko_Bauke
___________________________________________________________________________
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org