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

Reply via email to