Hi, Not strictly a development question, but I figured there would be a better chance of someone in this list knowing what's happening under the hood here.
Long story short, I'm trying to implement a procedure to re-target opacity of each sample in a deep pixel, akin to what's happening in a DeepRecolor node when "target input alpha" is checked. I've got this to a point where it's working ok, but I think I might be missing something, as my results differ from those you'd get in a DeepRecolor. My re-targetting algorithm is based on the assumption that the relative opacity between samples should be preserved, but DeepRecolor clearly uses a different approach. Example: Say you have a deep pixel with 2 samples, and the following opacities: Samp1 : 0.4 Samp2 : 0.2 The accumulated opacity is 0.52 (Samp1 over Samp2). Note that Samp1 deliberately has an opacity of 2 times Samp2. Now, let's say we want to re-target those samples to an accumulated opacity of 0.9. What I am doing is trying to calculate new opacities for Samp1 and Samp2 in such a way that Samp1 == 2*Samp2 and Samp1 over Samp2 == 0.9 This gives me the following re-targeted values: Samp1 : 0.829284 Samp2 : 0.414642 I'm happy with those, but it bugs me that DeepRecolor throws different results: Samp1 : 0.798617 Samp2 : 0.503434 Which meets the Samp1 over Samp2 == 0.9 criteria, but does not preserve the relative opacities of the original samples. It seems to me like DeepRecolor is applying some sort of non-linear function to apply a different weight to each of the original samples, but I haven't been able to figure out the logic of that weighting, or a reason why it's done that way. Does anyone have any insight/ideas on what DeepRecolor might be doing internally? Or a reason why you might want to distribute the target alpha in a non-linear way? Thanks, Ivan
_______________________________________________ Nuke-dev mailing list Nuke-dev@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev