System Information
Ubuntu 14.04.2 LTS 64-bit
AMD A8-5550M APU with Radeon(tm) HD Graphics × 4
AMD Radeon HD 8550G
Blender Version
Broken: 'Blender V2.55.1 and newer' as the OpenEXR file states; yet it can be any version.
Short description of error
Case scenario: Rendering an image of X and Y size (here being 1920 x 1080 in example image).
Rendering a scene (with or without all passes enabled) yields expected results for the "dataWindow" and "displayWindow" variables.
Both are set to -> (0, 0) - (1919, 1079).
'dataWindow': (0, 0) - (1919, 1079), 'displayWindow': (0, 0) - (1919, 1079),
Rendering a scene with [ bpy.context.scene.render.use_border = True ] and setting the render border should yield two different results. The Variable "displayWindow" should stay exactly the same as it represents the render size of 1920 x 1080 and "dataWindow" should represent the render border region.
'dataWindow': (0, 0) - (959, 539), 'displayWindow': (0, 0) - (1919, 1079), }
Data dump.
{
'BlenderMultiChannel': 'Blender V2.55.1 and newer',
'compression': NO_COMPRESSION,
'dataWindow': (0, 0) - (1919, 1079),
'displayWindow': (0, 0) - (1919, 1079),
'channels': {
'RenderLayer.Combined.R': FLOAT (1, 1),
'RenderLayer.Combined.G': FLOAT (1, 1),
'RenderLayer.Combined.B': FLOAT (1, 1),
'RenderLayer.Combined.A': FLOAT (1, 1),
'RenderLayer.Depth.Z': FLOAT (1, 1),
'RenderLayer.Shadow.R': FLOAT (1, 1),
'RenderLayer.Shadow.G': FLOAT (1, 1),
'RenderLayer.Shadow.B': FLOAT (1, 1),
'RenderLayer.AO.R': FLOAT (1, 1),
'RenderLayer.AO.G': FLOAT (1, 1),
'RenderLayer.AO.B': FLOAT (1, 1),
'RenderLayer.Normal.X': FLOAT (1, 1),
'RenderLayer.Normal.Y': FLOAT (1, 1),
'RenderLayer.Normal.Z': FLOAT (1, 1),
'RenderLayer.Vector.W': FLOAT (1, 1),
'RenderLayer.Vector.Y': FLOAT (1, 1),
'RenderLayer.Vector.X': FLOAT (1, 1),
'RenderLayer.Vector.Z': FLOAT (1, 1),
'RenderLayer.IndexOB.X': FLOAT (1, 1),
'RenderLayer.UV.U': FLOAT (1, 1),
'RenderLayer.UV.V': FLOAT (1, 1),
'RenderLayer.UV.A': FLOAT (1, 1),
'RenderLayer.Mist.Z': FLOAT (1, 1),
'RenderLayer.Emit.R': FLOAT (1, 1),
'RenderLayer.Emit.G': FLOAT (1, 1),
'RenderLayer.Emit.B': FLOAT (1, 1),
'RenderLayer.Env.R': FLOAT (1, 1),
'RenderLayer.Env.G': FLOAT (1, 1),
'RenderLayer.Env.B': FLOAT (1, 1),
'RenderLayer.IndexMA.X': FLOAT (1, 1),
'RenderLayer.DiffDir.R': FLOAT (1, 1),
'RenderLayer.DiffDir.G': FLOAT (1, 1),
'RenderLayer.DiffDir.B': FLOAT (1, 1),
'RenderLayer.DiffInd.R': FLOAT (1, 1),
'RenderLayer.DiffInd.G': FLOAT (1, 1),
'RenderLayer.DiffInd.B': FLOAT (1, 1),
'RenderLayer.DiffCol.R': FLOAT (1, 1),
'RenderLayer.DiffCol.G': FLOAT (1, 1),
'RenderLayer.DiffCol.B': FLOAT (1, 1),
'RenderLayer.GlossDir.R': FLOAT (1, 1),
'RenderLayer.GlossDir.G': FLOAT (1, 1),
'RenderLayer.GlossDir.B': FLOAT (1, 1),
'RenderLayer.GlossInd.R': FLOAT (1, 1),
'RenderLayer.GlossInd.G': FLOAT (1, 1),
'RenderLayer.GlossInd.B': FLOAT (1, 1),
'RenderLayer.GlossCol.R': FLOAT (1, 1),
'RenderLayer.GlossCol.B': FLOAT (1, 1),
'RenderLayer.GlossCol.G': FLOAT (1, 1),
'RenderLayer.TransDir.R': FLOAT (1, 1),
'RenderLayer.TransDir.G': FLOAT (1, 1),
'RenderLayer.TransDir.B': FLOAT (1, 1),
'RenderLayer.TransInd.R': FLOAT (1, 1),
'RenderLayer.TransInd.G': FLOAT (1, 1),
'RenderLayer.TransInd.B': FLOAT (1, 1),
'RenderLayer.TransCol.R': FLOAT (1, 1),
'RenderLayer.TransCol.G': FLOAT (1, 1),
'RenderLayer.TransCol.B': FLOAT (1, 1),
'RenderLayer.SubsurfaceDir.R': FLOAT (1, 1),
'RenderLayer.SubsurfaceDir.G': FLOAT (1, 1),
'RenderLayer.SubsurfaceDir.B': FLOAT (1, 1),
'RenderLayer.SubsurfaceInd.R': FLOAT (1, 1),
'RenderLayer.SubsurfaceInd.G': FLOAT (1, 1),
'RenderLayer.SubsurfaceInd.B': FLOAT (1, 1),
'RenderLayer.SubsurfaceCol.R': FLOAT (1, 1),
'RenderLayer.SubsurfaceCol.G': FLOAT (1, 1),
'RenderLayer.SubsurfaceCol.B': FLOAT (1, 1),
'Composite.Combined.R': FLOAT (1, 1),
'Composite.Combined.G': FLOAT (1, 1),
'Composite.Combined.B': FLOAT (1, 1),
'Composite.Combined.A': FLOAT (1, 1)
},
'lineOrder': INCREASING_Y,
'pixelAspectRatio': 1.0,
'screenWindowCenter': (0.0, 0.0),
'screenWindowWidth': 1.0
}Exact steps for others to reproduce the error
1 - Setup a render border inside camera,
2 - Select OpenEXR or OpenEXR-Multilayer image formats,
3 - Render,
4 - Save render as a file.
Optional steps:
5 - Install python2 or 3 OpenEXR bindings,
6 - Dump the file header using code below:
import OpenEXR as exr
file = exr.InputFile("filename")
print(file.header())Suplied .blend:
