Deep Image Compositing

   24410   23   6
User Avatar
Member
33 posts
Joined: Nov. 2008
Offline
How to generate Deep images in Houdini for doing deep compositing on Nuke
sab
User Avatar
Member
320 posts
Joined: Aug. 2007
Offline
sabareeshrg
How to generate Deep images in Houdini for doing deep compositing on Nuke

You should be aware that Nuke only supports Pixar's RenderMan (DTEX) files for deep compositing at the current time.

In the future, OpenEXR 2.0 should provide a single format that all renderers will take advantage of, but this will take time.

If you are using prman, then youll need to write an Ri Filter, or possibly a RIB Hook for Houdini's output driver. soho does not currently provide a means for rendering DTEX files used for deep compositing.
www.alan-warren.com
User Avatar
Member
789 posts
Joined: April 2020
Offline
I think people at fuel where working on a rat dcm reader for nuke, with the intention to open source it.

In h12 Sidefx did a great thing by having tools that work with just images ( including deep rats) only check if you have a Houdini license, but not check one out. So the reader should not take a Houdini license anymore.

That should help while we all wait for openexr 2.0.

Cheers,
Koen
User Avatar
Member
4262 posts
Joined: July 2005
Offline
If you have a programmer handy you can add support for the deep camera maps fairly easily to Nuke using IMG_DeepPixelReader and some of their NDK's example Deep Readers.
if(coffees<2,round(float),float)
User Avatar
Member
1390 posts
Joined: July 2005
Offline
Cortex [code.google.com] apparently does Rat->dtex conversion.
User Avatar
Member
4262 posts
Joined: July 2005
Offline
SYmek
Cortex [code.google.com] apparently does Rat->dtex conversion.

And works nicely, but only supports the Color and Depth channels. It also serves as a great example. Highly recommended.
if(coffees<2,round(float),float)
User Avatar
Member
48 posts
Joined: March 2011
Offline
Wolfwood
And works nicely, but only supports the Color and Depth channels.

If I recall, that limitation is because I couldn't figure out how to create a RAT with more channels at the time. Cortex's format supports arbitrary channels, as does the DTEXDeepImageWriter, so it should be trivial to add aribitrary channel support to the RATDeepImageReader, if you have an example to work with.

In any case, Nuke's dtexDeepReader only supports RGBA anyways, so it would all be for naught I suppose…
User Avatar
Member
4262 posts
Joined: July 2005
Offline
andrewk.imageengine
Wolfwood
And works nicely, but only supports the Color and Depth channels.

If I recall, that limitation is because I couldn't figure out how to create a RAT with more channels at the time. Cortex's format supports arbitrary channels, as does the DTEXDeepImageWriter, so it should be trivial to add aribitrary channel support to the RATDeepImageReader, if you have an example to work with.

In any case, Nuke's dtexDeepReader only supports RGBA anyways, so it would all be for naught I suppose…

Actually I think up until 12.0.581 the deep camera rasters planes were completely corrupt anyway. But its fixed now.

I think I just used the DDImage::setInfo() to add the extra channels, at least in Nuke 6.3v6.


That said….. the size of the deep camera maps with loads of deep rasters. Mother of God.

Attachments:
nukes.jpg (15.8 KB)

if(coffees<2,round(float),float)
User Avatar
Member
9 posts
Joined: April 2012
Offline
Hi all,

i looked at the cortex page but as i don't have much programing experience, I'm kinda lost as to how to incorporate these libraries to work with the conversion.

could someone explain a simple walk through for this?

I hope to be able to go through the process from houdini to nuke with your help!

Thanks.
User Avatar
Member
48 posts
Joined: March 2011
Offline
vlow
i looked at the cortex page but as i don't have much programing experience, I'm kinda lost as to how to incorporate these libraries to work with the conversion.
Thanks.

Once you build the Cortex libs, you can simply launch python (or hython) in a away that both the prman and Houdini libs are accessible. From there it's just:

import IECore
import IECoreRI
import IECoreHoudini

IECore.DeepImageConverter()( inputFile=“existingFile.rat”, outputFile=“newFile.dtex” )

If you have more Cortex specific questions, you can email cortexdev@googlegroups.com
User Avatar
Member
9 posts
Joined: April 2012
Offline
andrewk.imageengine
vlow
i looked at the cortex page but as i don't have much programing experience, I'm kinda lost as to how to incorporate these libraries to work with the conversion.
Thanks.

Once you build the Cortex libs, you can simply launch python (or hython) in a away that both the prman and Houdini libs are accessible. From there it's just:

import IECore
import IECoreRI
import IECoreHoudini

IECore.DeepImageConverter()( inputFile=“existingFile.rat”, outputFile=“newFile.dtex” )

If you have more Cortex specific questions, you can email cortexdev@googlegroups.com

Thanks i will look into this further…Cheers for the reply.
User Avatar
Member
1390 posts
Joined: July 2005
Offline
Wolfwood
If you have a programmer handy you can add support for the deep camera maps fairly easily to Nuke using IMG_DeepPixelReader and some of their NDK's example Deep Readers.

I managed to make a try (looks like I'm about to need it very soon):
http://code.google.com/p/rat4nuke/ [code.google.com]
OIIO plugin for Houdini images would be handy too. Code still needs some attention though. Let me know if anyone feels like he/she'd like to contribute or something to make it ready…
User Avatar
Member
4262 posts
Joined: July 2005
Offline
SYmek
I managed to make a try (looks like I'm about to need it very soon):
http://code.google.com/p/rat4nuke/ [code.google.com]
OIIO plugin for Houdini images would be handy too. Code still needs some attention though. Let me know if anyone feels like he/she'd like to contribute or something to make it ready…

Still buggy. In particular, for some reasons, if you read in any Houdini file first, before any other image, then opening different format will crash Nuke. Doing it in reverse, works fine.

That's cause Houdini's UT library is loading up its various image dso's like OpenEXR, which are stomping on Nuke's. To fix that-

setenv HOUDINI_DISABLE_IMAGE_DSO 1
if(coffees<2,round(float),float)
User Avatar
Member
1390 posts
Joined: July 2005
Offline
Ah so, makes sense! Thank you Wolfwood!
User Avatar
Member
4262 posts
Joined: July 2005
Offline
SYmek
Ah so, makes sense! Thank you Wolfwood!

Bah, and where are my manners. Thanks for putting together this Google Code project! The community thanks you!
if(coffees<2,round(float),float)
User Avatar
Member
390 posts
Joined: Jan. 2012
Offline
Yes, Thank you SYmek!
.
User Avatar
Member
1390 posts
Joined: July 2005
Offline
Wolfwood
Bah, and where are my manners.
Ah, well, at least you've already contributed! (and I was actually hoping you give some advices and maybe code fixes…). Thank you!
User Avatar
Member
1 posts
Joined: March 2009
Offline
Now that Nuke 7.0 supports OpenEXR deep format, how about houdini? How do I render out deep images for nuke to comp?

Thx!
User Avatar
Member
390 posts
Joined: Jan. 2012
Offline
I am also wondering this. I understand how to convert rats to dtex to bring into nuke, but I do not know how to render out deep rats from mantra in the first place.

Does anyone know how to do this?

edit- wow did not realize this was built in. sorry.
.
User Avatar
Member
22 posts
Joined: June 2013
Offline
Ok, I believe it's time this should be dug out. Houdini 13 supports openEXR 2.0, so does Nuke 8. Does anyone have a decent tutorial / workflow demonstration for this bit?

Thanks in advance
  • Quick Links