[Bf-blender-cvs] [1e512a37fe1] compositor-cryptomatte-workflow: Code-style: reduce indentation.
Jeroen Bakker
noreply at git.blender.org
Tue Feb 16 09:47:21 CET 2021
Commit: 1e512a37fe1aa8f666d6a82910bd2507735c09e4
Author: Jeroen Bakker
Date: Mon Feb 15 12:21:37 2021 +0100
Branches: compositor-cryptomatte-workflow
https://developer.blender.org/rB1e512a37fe1aa8f666d6a82910bd2507735c09e4
Code-style: reduce indentation.
===================================================================
M source/blender/compositor/nodes/COM_CryptomatteNode.cpp
===================================================================
diff --git a/source/blender/compositor/nodes/COM_CryptomatteNode.cpp b/source/blender/compositor/nodes/COM_CryptomatteNode.cpp
index f4cd124567f..ee11eb4f961 100644
--- a/source/blender/compositor/nodes/COM_CryptomatteNode.cpp
+++ b/source/blender/compositor/nodes/COM_CryptomatteNode.cpp
@@ -65,33 +65,32 @@ void CryptomatteNode::buildInputOperationsFromRenderSource(
{
Scene *scene = (Scene *)node.id;
BLI_assert(GS(scene->id.name) == ID_SCE);
- Render *render = (scene) ? RE_GetSceneRender(scene) : NULL;
-
- if (render) {
- const short cryptomatte_layer_id = node.custom2;
- RenderResult *rr = RE_AcquireResultRead(render);
- if (rr) {
- ViewLayer *view_layer = (ViewLayer *)BLI_findlink(&scene->view_layers, cryptomatte_layer_id);
- if (view_layer) {
- RenderLayer *render_layer = RE_GetRenderLayer(rr, view_layer->name);
- if (render_layer) {
- std::string prefix = getCryptomatteLayerPrefix(node);
- LISTBASE_FOREACH (RenderPass *, rpass, &render_layer->passes) {
- if (blender::StringRef(rpass->name, sizeof(rpass->name)).startswith(prefix)) {
- RenderLayersProg *op = new RenderLayersProg(
- rpass->name, COM_DT_COLOR, rpass->channels);
- op->setScene(scene);
- op->setLayerId(cryptomatte_layer_id);
- op->setRenderData(context.getRenderData());
- op->setViewName(context.getViewName());
- r_input_operations.append(op);
- }
- }
+ Render *render = (scene) ? RE_GetSceneRender(scene) : nullptr;
+ RenderResult *render_result = render ? RE_AcquireResultRead(render) : nullptr;
+
+ if (!render_result) {
+ return;
+ }
+
+ const short cryptomatte_layer_id = node.custom2;
+ ViewLayer *view_layer = (ViewLayer *)BLI_findlink(&scene->view_layers, cryptomatte_layer_id);
+ if (view_layer) {
+ RenderLayer *render_layer = RE_GetRenderLayer(render_result, view_layer->name);
+ if (render_layer) {
+ std::string prefix = getCryptomatteLayerPrefix(node);
+ LISTBASE_FOREACH (RenderPass *, rpass, &render_layer->passes) {
+ if (blender::StringRef(rpass->name, sizeof(rpass->name)).startswith(prefix)) {
+ RenderLayersProg *op = new RenderLayersProg(rpass->name, COM_DT_COLOR, rpass->channels);
+ op->setScene(scene);
+ op->setLayerId(cryptomatte_layer_id);
+ op->setRenderData(context.getRenderData());
+ op->setViewName(context.getViewName());
+ r_input_operations.append(op);
}
}
}
- RE_ReleaseResult(render);
}
+ RE_ReleaseResult(render);
}
void CryptomatteNode::buildInputOperationsFromImageSource(
@@ -102,46 +101,48 @@ void CryptomatteNode::buildInputOperationsFromImageSource(
NodeCryptomatte *cryptoMatteSettings = (NodeCryptomatte *)node.storage;
Image *image = (Image *)node.id;
BLI_assert(!image || GS(image->id.name) == ID_IM);
+ if (!image || image->type != IMA_TYPE_MULTILAYER) {
+ return;
+ }
+
ImageUser *iuser = &cryptoMatteSettings->iuser;
BKE_image_user_frame_calc(image, iuser, context.getFramenumber());
-
- if (image && image->type == IMA_TYPE_MULTILAYER) {
- ImBuf *ibuf = BKE_image_acquire_ibuf(image, iuser, NULL);
- if (image->rr) {
- int view = 0;
- if (BLI_listbase_count_at_most(&image->rr->views, 2) > 1) {
- if (iuser->view == 0) {
- /* Heuristic to match image name with scene names, check if the view name exists in the
- * image. */
- view = BLI_findstringindex(
- &image->rr->views, context.getViewName(), offsetof(RenderView, name));
- if (view == -1)
- view = 0;
- }
- else {
- view = iuser->view - 1;
- }
+ ImBuf *ibuf = BKE_image_acquire_ibuf(image, iuser, NULL);
+
+ if (image->rr) {
+ int view = 0;
+ if (BLI_listbase_count_at_most(&image->rr->views, 2) > 1) {
+ if (iuser->view == 0) {
+ /* Heuristic to match image name with scene names, check if the view name exists in the
+ * image. */
+ view = BLI_findstringindex(
+ &image->rr->views, context.getViewName(), offsetof(RenderView, name));
+ if (view == -1)
+ view = 0;
}
+ else {
+ view = iuser->view - 1;
+ }
+ }
- RenderLayer *render_layer = (RenderLayer *)BLI_findlink(&image->rr->layers, iuser->layer);
- if (render_layer) {
- int render_pass_index = 0;
- std::string prefix = getCryptomatteLayerPrefix(node);
- for (RenderPass *rpass = (RenderPass *)render_layer->passes.first; rpass;
- rpass = rpass->next, render_pass_index++) {
- if (blender::StringRef(rpass->name, sizeof(rpass->name)).startswith(prefix)) {
- MultilayerColorOperation *op = new MultilayerColorOperation(render_pass_index, view);
- op->setImage(image);
- op->setRenderLayer(render_layer);
- op->setImageUser(iuser);
- op->setFramenumber(context.getFramenumber());
- r_input_operations.append(op);
- }
+ RenderLayer *render_layer = (RenderLayer *)BLI_findlink(&image->rr->layers, iuser->layer);
+ if (render_layer) {
+ int render_pass_index = 0;
+ std::string prefix = getCryptomatteLayerPrefix(node);
+ for (RenderPass *rpass = (RenderPass *)render_layer->passes.first; rpass;
+ rpass = rpass->next, render_pass_index++) {
+ if (blender::StringRef(rpass->name, sizeof(rpass->name)).startswith(prefix)) {
+ MultilayerColorOperation *op = new MultilayerColorOperation(render_pass_index, view);
+ op->setImage(image);
+ op->setRenderLayer(render_layer);
+ op->setImageUser(iuser);
+ op->setFramenumber(context.getFramenumber());
+ r_input_operations.append(op);
}
}
}
- BKE_image_release_ibuf(image, ibuf, NULL);
}
+ BKE_image_release_ibuf(image, ibuf, NULL);
}
blender::Vector<NodeOperation *> CryptomatteNode::createInputOperations(
More information about the Bf-blender-cvs
mailing list