diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-09-19 12:21:55 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-09-19 12:21:55 +0400 |
commit | 407371d0ab723d58c38cd6642f1d8f2d2d20519d (patch) | |
tree | ce2e1ac89fb2d44df91f13df7fdc32790765bcd7 /source/blender/compositor/operations/COM_MultilayerImageOperation.h | |
parent | c628c4b45b8b0a5e1d0eff11a0be7d456ea2f0a7 (diff) |
Fix #36755, EXR Layers are not fully updated on scene load or image refresh.
After discussion with Brecht decided that automatically updating the sockets of the node based on externally modified data (removed EXR file passes) is not desirable behavior. But at least making sure
the correct passes are assigned to the output sockets of the Image node is possible. Now the passes are matched by name instead of using the faulty index stored in the socket data, which is more
reliable. Still may break if changing pass names externally, but an image reload is highly recommended anyway and will fix that.
Diffstat (limited to 'source/blender/compositor/operations/COM_MultilayerImageOperation.h')
-rw-r--r-- | source/blender/compositor/operations/COM_MultilayerImageOperation.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/compositor/operations/COM_MultilayerImageOperation.h b/source/blender/compositor/operations/COM_MultilayerImageOperation.h index 3c498e962b5..065bcc7da1e 100644 --- a/source/blender/compositor/operations/COM_MultilayerImageOperation.h +++ b/source/blender/compositor/operations/COM_MultilayerImageOperation.h @@ -37,13 +37,13 @@ public: /** * Constructor */ - MultilayerBaseOperation(int pass); + MultilayerBaseOperation(int passindex); void setRenderLayer(RenderLayer *renderlayer) { this->m_renderlayer = renderlayer; } }; class MultilayerColorOperation : public MultilayerBaseOperation { public: - MultilayerColorOperation(int pass) : MultilayerBaseOperation(pass) { + MultilayerColorOperation(int passindex) : MultilayerBaseOperation(passindex) { this->addOutputSocket(COM_DT_COLOR); } void executePixel(float output[4], float x, float y, PixelSampler sampler); @@ -51,7 +51,7 @@ public: class MultilayerValueOperation : public MultilayerBaseOperation { public: - MultilayerValueOperation(int pass) : MultilayerBaseOperation(pass) { + MultilayerValueOperation(int passindex) : MultilayerBaseOperation(passindex) { this->addOutputSocket(COM_DT_VALUE); } void executePixel(float output[4], float x, float y, PixelSampler sampler); @@ -59,7 +59,7 @@ public: class MultilayerVectorOperation : public MultilayerBaseOperation { public: - MultilayerVectorOperation(int pass) : MultilayerBaseOperation(pass) { + MultilayerVectorOperation(int passindex) : MultilayerBaseOperation(passindex) { this->addOutputSocket(COM_DT_VECTOR); } void executePixel(float output[4], float x, float y, PixelSampler sampler); |