Hi, If you remove the RGB channels from your deep image then Bokeh will do #1.
#2. It looks like this is an oversight, we used ChannelSet_knob and looking at the more recent c++ reference this has to be InputChannelSet_knob for "all" to show up. Not too sure if there's any other differences but we can change that easily. Cheers On 2012-07-12, at 3:01 PM, Adam Hazard wrote: > Thanks Dennis, took a good little while to figure out the order of operations > and placement, but I got this to work with the dual phBokeh setup. Thank you! > > > However, I am having a bit of trouble figuring out Colin's single pgBokeh > setup though. > > Currently, I am doing the deep holdout to get the cut alpha I want. Then > shuffle copying that alpha into the mask.a channel into the original beauty > rgba. Then piping that into a deepRecolor and setting the channels to 'all'. > That recolor is going into the 'Deep Input' of pgBokeh, and the previous > shuffle copy is going into the 'Input'. In the pgBokeh I have the Bokeh > channels set to rgba and switching the 'a' channel to the mask.a, since I > can't set the channels to 'all'. > Out of that I am then shuffle copying the cut defocused mask.a back into the > rgba.a. However the defocused rgb is still uncut, and I cant seem to figure > out how to cut the full rgb by the cut defocusd 'a', without loosing edge > detail since I also dont have full uncut defocused a. All I have still is a > full uncut nondefocused 'a'. Hopefully this all makes sense, but how are you > setting this up for a single pgBokeh? > > Additionally, I do have a couple suggestion for ease of use of the pgBokeh in > this instance. > > 1. Since this node requires something plugged into 'Input', then it should > also have an option to use the rgba from 'Input' and not default to the rgba > of the 'Deep Input'. That way I can use the deep as a defocus mask but use > what ever rgba I want plugged into 'Input', straight out of a deep holdout or > whatever. Not sure why it requires something plugged into 'Input' when using > Deeps. if it just ends up completely ignoring it, as far as I can tell. > Unless I am missing some switch? > > 2. Include an 'all' in the Bokeh Channels dropdown. > > > If either of those would be possible, mainly #1, it would make this node much > more useful for us in production, and would work like most other defocus > nodes already in use. > > Ok, thanks for any further help and suggestions. > > -Adam > > > On 07/11/2012 07:24 PM, Colin Doncaster wrote: >> >> >> 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 >
_______________________________________________ Nuke-users mailing list [email protected], http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
