1. "I'm not sure I can easily think of a long series of operations that would require multiple, different shufflings. Did you have a usage case in mind as an example?"
I imagine people having huge node graphs in compositors and they take arbitrary channels from images, apply operations to those and save them to arbitrary channels. 2. "I'm not sure we have a compelling argument yet that we need this flexibility everywhere" Agreed. Also, whenever we need it, the solution may require specific modifications just for that case. For example, I am not sure we need this for ImageBufAlgo::blend. To produce the G channel in the output image, you need to use two channels from each input image A and B, G and alpha from A, G and alpha from B. It is not like the simple case where you need just one channel from each input image to produce one output channel. I will not include masks in blend for now, in the mean time I will explore Nuke. 3. "I think that doing the channel selection in one operation up front, then having conditional-less operations following should be at least as efficient as doing channel selection within each op." I can do it like that for now. Just to confirm we mean the same thing, let's say that the mask says to only use channels 0 and 1 in image A. Then I need to create a new image A' just with those two channels and apply the operation on that. Any method I should use, or just iterate over all pixels and copy values? 4. "We can always give a simple channel selection like I describe now, then do something more sophisticated later, if and when the performance of the simple solution is shown to be inadequate." Sounds good.
_______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
