Page MenuHome

Missing Render Passes in Multilayer EXR
Closed, ResolvedPublic


Win 7 Ultimate, GTX 780

Broken: 2.77
Worked: (optional)

Missing Render Passes DIFFUSE DIRECT and DIFFUSE INDIRECT in Multilayer EXR
... rendered out and save through output node and imported as exr image

the rest 23 passes out of 25 works fine

Exact steps for others to reproduce the error
see attached blend file

Event Timeline

Jozef Zajac (zajooo) set Type to Bug.
Jozef Zajac (zajooo) created this task.
Jozef Zajac (zajooo) raised the priority of this task from to Needs Triage by Developer.

ubuntu 14.04 64bits master 89df672

I confirm problem with attached.blend but I can't redo it from scratch.

Jozef Zajac (zajooo) added a comment.EditedMay 19 2016, 4:55 PM

Exact steps for others to reproduce the error

  1. Engine for rendering: Cycles Render
  2. Properties/Render Layers/Passes/Enable Difuse: [Direct] [Indirect] [Color]
  3. Node Editor / Compositing / [x] Use Nodes / [x] Backdrop
  4. Add Output / File Output set file format to: OpenEXR Multilayer
  5. +Add Input 4 times, for Alpha, Diffuse Direct, Diffuse Indirect and Diffuse Color and rename them
  6. Connect the to coresponding outputs from Render Layer node to File Output node
  7. Set path to render to
  8. hit F12 to render
  1. In Node editor add Input / Image
  2. Load the rendered image from the path you have previously setted up

Cheers Jozef

Any news, any other confirms of the issue ?

Bastien Montagne (mont29) triaged this task as Confirmed, Medium priority.

Issue is not in saving actually, but in loading EXR multipass images. Blender tries to detect the pass types from their names (using pre-defined names of its own render result), and here any pass name starting with 'Diffuse' is detected as DIFFUSE pass (expects DiffDir, DiffInd etc. for direct, indirect etc. diffuse passes). Since we do not support several passes of the same type…

Fix incomming.

just downloaded the daily build to take check it

now it works in therms of no missing passes
but it does not keeps the Layer naming from File Output

It is saved as "Diffuse Direct" and loaded as "DiffDir"
but it is hard coded as I have seen in the fix in render_result.c

anyway I am happy to see no missing passes :)

Thumb up guys, great job !



Eeeeeeh! no, absolutely not, you must be loading the wrong EXR file in your viewer node! This one must have been saved directly from a render or something - in any case, not from your file save node, or you would not have the 'combined' pass in it. ;)

My fault, INDEED WORKS LIKE IT SHOULD, I was reading the file from my Desktop not from my File output Temp directory.

Cheers ;)