55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
/* SPDX-FileCopyrightText: 2005 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/** \file
|
|
* \ingroup nodes
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "BKE_node.hh"
|
|
|
|
namespace blender {
|
|
|
|
struct CryptomatteSession;
|
|
struct Scene;
|
|
|
|
extern bke::bNodeTreeType *ntreeType_Composite;
|
|
|
|
void register_node_tree_type_cmp();
|
|
void register_node_type_cmp_custom_group(bke::bNodeType *ntype);
|
|
|
|
void node_cmp_rlayers_outputs(bNodeTree *ntree, bNode *node);
|
|
|
|
/**
|
|
* Called from render pipeline, to tag render input and output.
|
|
* need to do all scenes, to prevent errors when you re-render 1 scene.
|
|
*/
|
|
void ntreeCompositTagRender(Scene *scene);
|
|
|
|
/**
|
|
* \note: Requires that viewlayers are in sync (call `BKE_main_view_layers_synced_ensure` or
|
|
* similar before).
|
|
*/
|
|
void ntreeCompositCryptomatteSyncFromAdd(bNode *node);
|
|
|
|
void ntreeCompositCryptomatteSyncFromRemove(bNode *node);
|
|
void ntreeCompositCryptomatteAddSocket(bNode *node);
|
|
bool ntreeCompositCryptomatteRemoveSocket(bNode *node);
|
|
void ntreeCompositCryptomatteLayerPrefix(const bNode *node, char *r_prefix, size_t prefix_maxncpy);
|
|
|
|
/**
|
|
* Update the runtime layer names with the crypto-matte layer names of the references render layer
|
|
* or image.
|
|
*/
|
|
void ntreeCompositCryptomatteUpdateLayerNames(bNode *node);
|
|
|
|
/**
|
|
* \note: Requires that viewlayers are in sync (call `BKE_main_view_layers_synced_ensure` or
|
|
* similar before).
|
|
*/
|
|
CryptomatteSession *ntreeCompositCryptomatteSession(bNode *node);
|
|
|
|
} // namespace blender
|