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

Reply via email to