More or less, although doing a separate Row/get for each passthrough
channel
would be inefficient - just add those to a channelset, and get them at the
end,
with only the copy in a foreach.

On Wed, 8 Jun 2011 12:18:36 -0400, Colin Doncaster
<co...@peregrinelabs.com> wrote:
> Thanks Abigail, 
> 
> So - if I understand correctly in engine I have to do 
> 
> foreach(z, channels)
> {
>       if (userDesiredChannels.contains( z ))
>       {
>               // the plugin does it's thing
>       } else {
>               Row source( x, r );
>               source.get(input0(), y, x, r, z );
>               row.copy(z, source, z, x, r);
>       }
> }
> 
> where channels and row is the parameters of engine?
> 
> 
> 
> --
> Colin Doncaster
> Peregrine Labs
> www.peregrinelabs.com
> 
> On 2011-06-08, at 11:33 AM, Abigail Brady wrote:
> 
>> You need to pass through the extra channels in _request and engine.
>> Nuke will skip calling your _request and engine() in some limited
>> circumstances,
>> like if the requested channels are entirely disjoint with the
>> out_channels(),
>> but for example, in the case where it's asking for RGBA + creatureRGBA,
>> you need to fill in both of them, it won't take your RGBA and then copy
>> in creatureRGBA itself.  (If it were to start doing that, it would mask
>> out the channels you don't need to fill in when it calls
>> _request/engine).
>> 
>> On Wed, 8 Jun 2011 10:11:16 -0400, Colin Doncaster
>> <co...@peregrinelabs.com> wrote:
>>> Hi there - 
>>> 
>>> I have an op that lets the user specify what channels should be
>> affected,
>>> let's say RGBA.  When _validate is called I set_out_channels to the
>> desired
>>> channels and in request I input().request the desired channels.  I
>> assume
>>> thus far this is correct?
>>> 
>>> What happens when a user has an input image that contains a
>> channel/layer
>>> that hasn't been requested by my node?  For example, the input image
has
>>> creatureMatte.r/b/g and I haven't requested them and/or included them
in
>> my
>>> output channels - does nuke just copy them to the output for me,
should
>> the
>>> user expect to those channels to be maintained through the processing
of
>> my
>>> op or do I need to actually use Mask_All on validate and just pass
>> through
>>> the data in engine if that data is to be retained?
>>> 
>>> If I don't retain it and the user is looking at that channel, what
>> happens?
>>> 
>>> Cheers
>>> 
>>> --
>>> Colin Doncaster
>>> Peregrine Labs
>>> www.peregrinelabs.com
>> 
>> -- 
>> Abigail Brady, Senior Architect
>> The Foundry, 48 Leicester Square, London WC2H 7TW, UK
>> Tel: +44 (0)20 7434 0449 * Fax: +44 (0)20 7434 1550
>> Web: www.thefoundry.co.uk
>> 
>> The Foundry Visionmongers Ltd
>> Registered in England and Wales No: 4642027
>> _______________________________________________
>> 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

-- 
Abigail Brady, Senior Architect
The Foundry, 48 Leicester Square, London WC2H 7TW, UK
Tel: +44 (0)20 7434 0449 * Fax: +44 (0)20 7434 1550
Web: www.thefoundry.co.uk

The Foundry Visionmongers Ltd
Registered in England and Wales No: 4642027
_______________________________________________
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

Reply via email to