7
$\begingroup$

I went through the OpenEXR technical introduction found here: it says that besides multi-channel files, OpenEXR also allows for the creation of "deep" files: i.e. it allows for assigning multiple recordings of a value (or a set of values) to the same channel.

I am using Blender to simulate reflection spectra. For this I loop through a parameter that takes on more than 300 different values, and for every value I use Cycles to render a new image of my scene. Instead of assigning every RGBA-output of every rendered image to a new channel, I would like to assign all 300 images to the same channel, in an ordered way. All 300 values of the parameter should be stored together (also ordered) in another channel of the multichannel EXR. This would mean that within the same file, I would be able to look up every one of the 300 rendered images (beauty passes) by its corresponding value of the parameter.

Is there a way to do this with Blender? I found good explanation about how to create multichannel EXR, but nothing on how to make a channel in such a multichannel file "deep". I tried connecting many input nodes to the same output channel but this isn't possible.

$\endgroup$
4
+100
$\begingroup$

Blender is not the right tool to do this. You can do almost everything in Blender, but sometimes coding and doing it yourself is required.

You cannot obtain the deep image directly, because there is no renderer (as my knowledge goes) that can output that (a volumetric output).

You get multi-channel output at most (beauty pass, z-depth, shadow pass,..) - and this is what most 3d apps will let you save:

Save all render passes to a single EXR image

Some will let you save this as deep image, for example MentalRay.

To get your image with deep pixels, you would have to create it from all the rendered images. To be able to do this inside Blender, you would have to use the OpenEXR source code and code it yourself and run it from Blender through python bindings. Some compositing applications offer creation of openEXR deep images, like Nuke for example.

A deep image is nothing else than volumetric data structure in camera space. You cannot 'render' such data in Blender, but you can create them (smoke, fire, ..) and export as Alembic (in global space). From there it might be easier to handle such data externally.

If you need to convert particles or geometry into volumetric data structures, Houdini is a good tool to do that.

$\endgroup$
  • $\begingroup$ @brockmann I think it's the same as with MentalRay or Arnold - it's the comp layers saved as deep image instead of multi-channel image. Probably some other renderers can do it also. I really don't know one that can output 300 custom layer volumetric camera space image.. $\endgroup$ – Jaroslav Jerryno Novotny Oct 28 '17 at 18:15
  • $\begingroup$ Looks like Arnold does produce a volumetric cloud: support.solidangle.com/display/AFMUG/Deep+EXR. But Nuke can do this already from any image with z-depth buffer data, another dead end.. $\endgroup$ – Jaroslav Jerryno Novotny Oct 28 '17 at 18:29
  • $\begingroup$ RenderMan is also able to write deep files, but I don't know if this is possible with the blender plugin. Might be worth looking into, since RenderMan is free for non-commercial use. $\endgroup$ – yann Oct 30 '17 at 15:39
  • $\begingroup$ @yann there was a comment mentioning this to which my first comment is replying. It's deleted now.. There are 2 cases of deep images I know of that various renderers can produce - deep image composed of individual render passes or deep image of the beauty pass spread out in space with z-pass. I don't know one that can do 300 custom images, it would have to do what an MRI machine does.. $\endgroup$ – Jaroslav Jerryno Novotny Oct 30 '17 at 15:45
  • $\begingroup$ i recommend to just make it an animation and use frame number as your parameter index. should even be possible then to use it in a cycles material as texture node supports avi-frame numbers $\endgroup$ – user3800527 Nov 2 '17 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.