[Bf-blender-cvs] [34cfd02] multiview: From review: check compositor viewer node image only as part of initExecution

Dalai Felinto noreply at git.blender.org
Fri Mar 20 16:45:31 CET 2015


Commit: 34cfd028065af81f56cf991ffd7bcee8b1285553
Author: Dalai Felinto
Date:   Fri Mar 20 16:38:32 2015 +0100
Branches: multiview
https://developer.blender.org/rB34cfd028065af81f56cf991ffd7bcee8b1285553

>From review: check compositor viewer node image only as part of initExecution

I actually put it under ::initImage(), this way it runs only for the active output viewer

===================================================================

M	source/blender/compositor/nodes/COM_SplitViewerNode.cpp
M	source/blender/compositor/nodes/COM_ViewerNode.cpp
M	source/blender/compositor/operations/COM_ViewerOperation.cpp

===================================================================

diff --git a/source/blender/compositor/nodes/COM_SplitViewerNode.cpp b/source/blender/compositor/nodes/COM_SplitViewerNode.cpp
index a86d4ef..0f917d3 100644
--- a/source/blender/compositor/nodes/COM_SplitViewerNode.cpp
+++ b/source/blender/compositor/nodes/COM_SplitViewerNode.cpp
@@ -73,8 +73,4 @@ void SplitViewerNode::convertToOperations(NodeConverter &converter, const Compos
 
 	if (do_output)
 		converter.registerViewer(viewerOperation);
-
-	if (image && BKE_scene_multiview_is_render_view_first(context.getRenderData(), context.getViewName())) {
-		BKE_image_verify_viewer_views(context.getRenderData(), image, imageUser);
-	}
 }
diff --git a/source/blender/compositor/nodes/COM_ViewerNode.cpp b/source/blender/compositor/nodes/COM_ViewerNode.cpp
index 2bee7eb..ab819ce 100644
--- a/source/blender/compositor/nodes/COM_ViewerNode.cpp
+++ b/source/blender/compositor/nodes/COM_ViewerNode.cpp
@@ -80,8 +80,4 @@ void ViewerNode::convertToOperations(NodeConverter &converter, const CompositorC
 
 	if (do_output)
 		converter.registerViewer(viewerOperation);
-
-	if (image && BKE_scene_multiview_is_render_view_first(context.getRenderData(), context.getViewName())) {
-		BKE_image_verify_viewer_views(context.getRenderData(), image, imageUser);
-	}
 }
diff --git a/source/blender/compositor/operations/COM_ViewerOperation.cpp b/source/blender/compositor/operations/COM_ViewerOperation.cpp
index 6fbd2b5..b717250 100644
--- a/source/blender/compositor/operations/COM_ViewerOperation.cpp
+++ b/source/blender/compositor/operations/COM_ViewerOperation.cpp
@@ -130,6 +130,11 @@ void ViewerOperation::initImage()
 	void *lock;
 	ImBuf *ibuf;
 
+	/* make sure the image has the correct number of views */
+	if (ima && BKE_scene_multiview_is_render_view_first(this->m_rd, this->m_viewName)) {
+		BKE_image_verify_viewer_views(this->m_rd, ima, this->m_imageUser);
+	}
+
 	/* local changes to the original ImageUser */
 	iuser.multi_index = BKE_scene_multiview_view_id_get(this->m_rd, this->m_viewName);
 	ibuf = BKE_image_acquire_ibuf(ima, &iuser, &lock);




More information about the Bf-blender-cvs mailing list