You should be able to avoid the double defocus if you copy the alpha to a 
different channel first, do the holdout, do the defocus any make sure your 
pseudo alpha channel is included and then copy it back into the alpha. 

Cheers

( sorry for the listjack )

On 2012-07-11, at 10:12 PM, Denis SCOLAN wrote:

> Hi Adams,
> 
> Usually there are two cases where you can have NAN.
> The first one would be if for one deep opacity sample you have NO value. The 
> deep opacity sample has an opacity but no color so the deep to image is 
> freaking out.
> Even if you want to assign a black value to a deep sample, you need to have a 
> value in your alpha channel.
> The other case (rare but it happens) is when you are deepmerging two 
> deepcolor streams and unfortunately one sample has the same position in space 
> than an other sample from the other stream.
> The quick fix is to change slighty the depth of one of the stream by using a 
> deeptransform in Z.
> 
> For pgBokeh, I know exactly what you are facing.
> Before we've created our own deepholdout at Fuel, I've found one trick to 
> kind of doing what you want.
> It's expensive but it does the trick.
> You need to defocus the color and the alpha separately and combine with a 
> copy after pgBokeh.
> How ? 
> First you have to create an holdout for the color : put a fully black color 
> on the deep opacity you are using to cut out with a Constant ( 0,0,0,1) and 
> and a deeprecolor.
> Then do a deep merge between the deep color stream and the "black stream". 
> Then you have a deep holdout but the alpha is wrong because is the 
> combinaison of the two streams.
> So you need to deep holdout the alpha.
> For doing that you have to use the same "black stream" and merge it with your 
> deep color stream that you have to turn into fully white (same technic as 
> above : recolor your deep color stream with a white constant (1,1,1,1).  If 
> you merge the "black" and the "white" stream you will have the holdout of the 
> "alpha" but in the color pass.
> Now you can defocus each stream separately and combine then with copy alpha.
> You have to expect heavy renders but that the only way i've found at that 
> time.
> 
> Good luck.
> Denis
> -FuelVFX
> 
> 
> 2012/7/12 Adam Hazard <[email protected]>
> Thanks for the reply. I do know why I am getting nans after the recolor, 
> because exactly what you describe, they are different alpha channels between 
> the 2.  I didn't really elaborate  on my issue, because I was just hoping for 
> a quick answer if copying deep values was possible. Anyways, what I am trying 
> to do is 2 deep operations in a row, but cant seem to figure out a way. 
> 
> First operation is cutting my renders with a deep holdout. Then trying to 
> feed that into a  pgBokeh through the deep input. I was hoping I could cut 
> the render, and then copy the deep values back into the stack after the 
> holdout and then feed that into the pgBokeh. 
> 
> But yeah, the recolor gives nans because one alpha is full, uncut, while the 
> other is cut. I wish the recolor had some options to choose which alpha to 
> use or something, or to do no alpha operations. Otherwise it works just fine 
> between the deep and regular uncut rgba.
> 
> And yeah I was surprised to find out you loose the deep values after a 
> holdout, and I really hope they provide something soon in an update. Anyways, 
> any other ideas?
> 
> Thanks again,
> Adam
> 
> 
> On 07/11/2012 05:49 PM, Denis SCOLAN wrote:
>> 
>> Hi Adam,
>> 
>> If you are trying to copy the color values of a 3D render on its own deep 
>> opacity you should use the deep recolor node for sure.
>> The reasons why you have artifact is because your deep opacity isn't 
>> matching at 100% the alpha channel of your 3d render.
>> If you ping-pong between the deep opacity and the alpha you'll see a 
>> difference.
>> Why ? Because the filter setting you've got on your render (Blackman-Harris, 
>> Mitchell, etc.) aren't the same than the deep image filter.
>> Basically the only filter that is the same for both is Box filter. 
>> So why do you have artifacts ? To understand that issue you have to know 
>> that the deep recolor is doing an Unpremult of your 3D render and then 
>> "multiply" it by the opacity level of the deep stream.
>> It's like if you are repremultiplying a 3d render in Nuke with different 
>> alpha than the original... you'll have edges artifacts. Well, it is the same 
>> for deep stream.
>> Here is a way to avoid this issue :
>> Before plug 2D stream into the deep stream with a deep recolor, just do an 
>> unpremultiplacation test to see if you don't have illegal values (negative 
>> valus, nan, extremly high values).
>> Then I strongly recommend to really do the unpremultiplication before and 
>> then the trick is to use the "alpha" of the deep image (with a deeptoimage) 
>> to remultiply the image before plugin it into the deep recolor node.
>> It's a bit of an overkill but it works perfectly well. 
>> 
>> For the deepholdout question, in  the current state of Nuke you can't have a 
>> deep stream after the deep holdout. 
>> But I'm sure Nuke will do it in the future. 
>> 
>> I hope it helps.
>> 
>> Denis.
>> - FuelVFX
>> 
>> 
>> 2012/7/12 Adam Hazard <[email protected]>
>> Hi,
>> 
>> Anyone know if it is possible to copy deep values, and add them into a non 
>> deep image? Maybe something like image>deepFromImage>deepExpression(with 
>> copied deep values from a deep read)?  Deep recolor doesn't seem to be doing 
>> the trick and is adding some edge artifacts and nans.
>> 
>> Or on the other hand, and slightly related, if it is possible to some how 
>> keep deep information after a deep holdout?
>> Thanks for any help.
>> 
>> -Adam
>> _______________________________________________
>> Nuke-users mailing list
>> [email protected], http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
>> 
>> 
>> 
>> _______________________________________________
>> Nuke-users mailing list
>> [email protected], http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
> 
> 
> _______________________________________________
> Nuke-users mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
> 
> _______________________________________________
> Nuke-users mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

Reply via email to