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] <mailto:[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]
    <mailto:[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