diff options
Diffstat (limited to 'source/blender/compositor')
5 files changed, 23 insertions, 12 deletions
diff --git a/source/blender/compositor/nodes/COM_OutputFileNode.cpp b/source/blender/compositor/nodes/COM_OutputFileNode.cpp index e0cff1de276..dcc1fbdec67 100644 --- a/source/blender/compositor/nodes/COM_OutputFileNode.cpp +++ b/source/blender/compositor/nodes/COM_OutputFileNode.cpp @@ -113,7 +113,8 @@ void OutputFileNode::convertToOperations(NodeConverter &converter, path, context.getViewSettings(), context.getDisplaySettings(), - context.getViewName()); + context.getViewName(), + sockdata->save_as_render); } else if ((!is_multiview) || (format->views_format == R_IMF_VIEWS_INDIVIDUAL)) { outputOperation = new OutputSingleLayerOperation(context.getRenderData(), @@ -123,7 +124,8 @@ void OutputFileNode::convertToOperations(NodeConverter &converter, path, context.getViewSettings(), context.getDisplaySettings(), - context.getViewName()); + context.getViewName(), + sockdata->save_as_render); } else { /* R_IMF_VIEWS_STEREO_3D */ outputOperation = new OutputStereoOperation(context.getRenderData(), @@ -134,7 +136,8 @@ void OutputFileNode::convertToOperations(NodeConverter &converter, sockdata->layer, context.getViewSettings(), context.getDisplaySettings(), - context.getViewName()); + context.getViewName(), + sockdata->save_as_render); } converter.addOperation(outputOperation); diff --git a/source/blender/compositor/operations/COM_OutputFileMultiViewOperation.cpp b/source/blender/compositor/operations/COM_OutputFileMultiViewOperation.cpp index 0b732357c92..7044fe402eb 100644 --- a/source/blender/compositor/operations/COM_OutputFileMultiViewOperation.cpp +++ b/source/blender/compositor/operations/COM_OutputFileMultiViewOperation.cpp @@ -47,9 +47,10 @@ OutputOpenExrSingleLayerMultiViewOperation::OutputOpenExrSingleLayerMultiViewOpe const char *path, const ColorManagedViewSettings *viewSettings, const ColorManagedDisplaySettings *displaySettings, - const char *viewName) + const char *viewName, + const bool saveAsRender) : OutputSingleLayerOperation( - rd, tree, datatype, format, path, viewSettings, displaySettings, viewName) + rd, tree, datatype, format, path, viewSettings, displaySettings, viewName, saveAsRender) { } @@ -273,9 +274,10 @@ OutputStereoOperation::OutputStereoOperation(const RenderData *rd, const char *name, const ColorManagedViewSettings *viewSettings, const ColorManagedDisplaySettings *displaySettings, - const char *viewName) + const char *viewName, + const bool saveAsRender) : OutputSingleLayerOperation( - rd, tree, datatype, format, path, viewSettings, displaySettings, viewName) + rd, tree, datatype, format, path, viewSettings, displaySettings, viewName, saveAsRender) { BLI_strncpy(this->m_name, name, sizeof(this->m_name)); this->m_channels = get_datatype_size(datatype); diff --git a/source/blender/compositor/operations/COM_OutputFileMultiViewOperation.h b/source/blender/compositor/operations/COM_OutputFileMultiViewOperation.h index bc057355cef..258ac1f9e98 100644 --- a/source/blender/compositor/operations/COM_OutputFileMultiViewOperation.h +++ b/source/blender/compositor/operations/COM_OutputFileMultiViewOperation.h @@ -38,7 +38,8 @@ class OutputOpenExrSingleLayerMultiViewOperation : public OutputSingleLayerOpera const char *path, const ColorManagedViewSettings *viewSettings, const ColorManagedDisplaySettings *displaySettings, - const char *viewName); + const char *viewName, + const bool saveAsRender); void *get_handle(const char *filename); void deinitExecution(); @@ -74,7 +75,8 @@ class OutputStereoOperation : public OutputSingleLayerOperation { const char *name, const ColorManagedViewSettings *viewSettings, const ColorManagedDisplaySettings *displaySettings, - const char *viewName); + const char *viewName, + const bool saveAsRender); void *get_handle(const char *filename); void deinitExecution(); }; diff --git a/source/blender/compositor/operations/COM_OutputFileOperation.cpp b/source/blender/compositor/operations/COM_OutputFileOperation.cpp index 216b754f676..0a7e238fed1 100644 --- a/source/blender/compositor/operations/COM_OutputFileOperation.cpp +++ b/source/blender/compositor/operations/COM_OutputFileOperation.cpp @@ -215,7 +215,8 @@ OutputSingleLayerOperation::OutputSingleLayerOperation( const char *path, const ColorManagedViewSettings *viewSettings, const ColorManagedDisplaySettings *displaySettings, - const char *viewName) + const char *viewName, + const bool saveAsRender) { this->m_rd = rd; this->m_tree = tree; @@ -232,6 +233,7 @@ OutputSingleLayerOperation::OutputSingleLayerOperation( this->m_viewSettings = viewSettings; this->m_displaySettings = displaySettings; this->m_viewName = viewName; + this->m_saveAsRender = saveAsRender; } void OutputSingleLayerOperation::initExecution() @@ -265,7 +267,7 @@ void OutputSingleLayerOperation::deinitExecution() ibuf->dither = this->m_rd->dither_intensity; IMB_colormanagement_imbuf_for_write( - ibuf, true, false, m_viewSettings, m_displaySettings, this->m_format); + ibuf, m_saveAsRender, false, m_viewSettings, m_displaySettings, this->m_format); suffix = BKE_scene_multiview_view_suffix_get(this->m_rd, this->m_viewName); diff --git a/source/blender/compositor/operations/COM_OutputFileOperation.h b/source/blender/compositor/operations/COM_OutputFileOperation.h index 915d59599e2..8717683b571 100644 --- a/source/blender/compositor/operations/COM_OutputFileOperation.h +++ b/source/blender/compositor/operations/COM_OutputFileOperation.h @@ -44,6 +44,7 @@ class OutputSingleLayerOperation : public NodeOperation { const ColorManagedDisplaySettings *m_displaySettings; const char *m_viewName; + bool m_saveAsRender; public: OutputSingleLayerOperation(const RenderData *rd, @@ -53,7 +54,8 @@ class OutputSingleLayerOperation : public NodeOperation { const char *path, const ColorManagedViewSettings *viewSettings, const ColorManagedDisplaySettings *displaySettings, - const char *viewName); + const char *viewName, + const bool saveAsRender); void executeRegion(rcti *rect, unsigned int tileNumber); bool isOutputOperation(bool /*rendering*/) const |