Blender V5.0
blender::nodes::node_composite_channel_matte_cc Namespace Reference

Enumerations

enum class  RGBChannel : uint8_t { R = 0 , G = 1 , B = 2 }
enum class  HSVChannel : uint8_t { H = 0 , S = 1 , V = 2 }
enum class  YUVChannel : uint8_t { Y = 0 , U = 1 , V = 2 }
enum class  YCbCrChannel : uint8_t { Y = 0 , Cb = 1 , Cr = 2 }

Functions

static void cmp_node_channel_matte_declare (NodeDeclarationBuilder &b)
static void node_composit_init_channel_matte (bNodeTree *, bNode *node)
static int node_gpu_material (GPUMaterial *material, bNode *node, bNodeExecData *, GPUNodeStack *inputs, GPUNodeStack *outputs)
static float3 compute_channels (const float4 color, const CMPNodeChannelMatteColorSpace color_space)
static int get_channel_index (const CMPNodeChannelMatteColorSpace color_space, const int rgb_channel, const int hsv_channel, const int yuv_channel, const int ycc_channel)
static int2 compute_limit_channels (const CMPNodeChannelMatteLimitAlgorithm limit_method, const int matte_channel, const int limit_channel)
static void channel_key (const float4 color, const float minimum, const float maximum, const CMPNodeChannelMatteColorSpace color_space, const int rgb_key_channel, const int hsv_key_channel, const int yuv_key_channel, const int ycc_key_channel, const CMPNodeChannelMatteLimitAlgorithm limit_method, const int rgb_limit_channel, const int hsv_limit_channel, const int yuv_limit_channel, const int ycc_limit_channel, float4 &output_color, float &matte)
static void node_build_multi_function (blender::nodes::NodeMultiFunctionBuilder &builder)

Variables

static const EnumPropertyItem color_space_items []
static const EnumPropertyItem rgb_channel_items []
static const EnumPropertyItem hsv_channel_items []
static const EnumPropertyItem yuv_channel_items []
static const EnumPropertyItem ycbcr_channel_items []
static const EnumPropertyItem limit_method_items []

Enumeration Type Documentation

◆ HSVChannel

Enumerator

Definition at line 55 of file node_composite_channel_matte.cc.

◆ RGBChannel

Enumerator

Definition at line 42 of file node_composite_channel_matte.cc.

◆ YCbCrChannel

Enumerator
Cb 
Cr 

Definition at line 81 of file node_composite_channel_matte.cc.

◆ YUVChannel

Enumerator

Definition at line 68 of file node_composite_channel_matte.cc.

Function Documentation

◆ channel_key()

void blender::nodes::node_composite_channel_matte_cc::channel_key ( const float4 color,
const float minimum,
const float maximum,
const CMPNodeChannelMatteColorSpace color_space,
const int rgb_key_channel,
const int hsv_key_channel,
const int yuv_key_channel,
const int ycc_key_channel,
const CMPNodeChannelMatteLimitAlgorithm limit_method,
const int rgb_limit_channel,
const int hsv_limit_channel,
const int yuv_limit_channel,
const int ycc_limit_channel,
float4 & output_color,
float & matte )
static

◆ cmp_node_channel_matte_declare()

◆ compute_channels()

◆ compute_limit_channels()

int2 blender::nodes::node_composite_channel_matte_cc::compute_limit_channels ( const CMPNodeChannelMatteLimitAlgorithm limit_method,
const int matte_channel,
const int limit_channel )
static

Definition at line 324 of file node_composite_channel_matte.cc.

References CMP_NODE_CHANNEL_MATTE_LIMIT_ALGORITHM_MAX.

Referenced by channel_key().

◆ get_channel_index()

int blender::nodes::node_composite_channel_matte_cc::get_channel_index ( const CMPNodeChannelMatteColorSpace color_space,
const int rgb_channel,
const int hsv_channel,
const int yuv_channel,
const int ycc_channel )
static

◆ node_build_multi_function()

void blender::nodes::node_composite_channel_matte_cc::node_build_multi_function ( blender::nodes::NodeMultiFunctionBuilder & builder)
static

◆ node_composit_init_channel_matte()

void blender::nodes::node_composite_channel_matte_cc::node_composit_init_channel_matte ( bNodeTree * ,
bNode * node )
static

Definition at line 257 of file node_composite_channel_matte.cc.

References MEM_callocN(), and bNode::storage.

◆ node_gpu_material()

int blender::nodes::node_composite_channel_matte_cc::node_gpu_material ( GPUMaterial * material,
bNode * node,
bNodeExecData * ,
GPUNodeStack * inputs,
GPUNodeStack * outputs )
static

Definition at line 265 of file node_composite_channel_matte.cc.

References GPU_stack_link(), inputs, and outputs.

Variable Documentation

◆ color_space_items

const EnumPropertyItem blender::nodes::node_composite_channel_matte_cc::color_space_items[]
static
Initial value:
= {
{CMP_NODE_CHANNEL_MATTE_CS_RGB, "RGB", 0, N_("RGB"), N_("RGB (Red, Green, Blue) color space")},
"HSV",
0,
N_("HSV"),
N_("HSV (Hue, Saturation, Value) color space")},
"YUV",
0,
N_("YUV"),
N_("YUV (Y - luma, U V - chroma) color space")},
"YCC",
0,
N_("YCbCr"),
N_("YCbCr (Y - luma, Cb - blue-difference chroma, Cr - red-difference chroma) color space")},
{0, nullptr, 0, nullptr, nullptr},
}
@ CMP_NODE_CHANNEL_MATTE_CS_YUV
@ CMP_NODE_CHANNEL_MATTE_CS_RGB
@ CMP_NODE_CHANNEL_MATTE_CS_HSV
@ CMP_NODE_CHANNEL_MATTE_CS_YCC
#define N_(msgid)

Definition at line 22 of file node_composite_channel_matte.cc.

Referenced by cmp_node_channel_matte_declare().

◆ hsv_channel_items

const EnumPropertyItem blender::nodes::node_composite_channel_matte_cc::hsv_channel_items[]
static

◆ limit_method_items

const EnumPropertyItem blender::nodes::node_composite_channel_matte_cc::limit_method_items[]
static
Initial value:
= {
"SINGLE",
0,
"Single",
"Limit by single channel"},
"MAX",
0,
"Max",
"Limit by maximum of other channels"},
{0, nullptr, 0, nullptr, nullptr},
}
@ CMP_NODE_CHANNEL_MATTE_LIMIT_ALGORITHM_MAX
@ CMP_NODE_CHANNEL_MATTE_LIMIT_ALGORITHM_SINGLE

Definition at line 94 of file node_composite_channel_matte.cc.

Referenced by cmp_node_channel_matte_declare().

◆ rgb_channel_items

const EnumPropertyItem blender::nodes::node_composite_channel_matte_cc::rgb_channel_items[]
static

◆ ycbcr_channel_items

const EnumPropertyItem blender::nodes::node_composite_channel_matte_cc::ycbcr_channel_items[]
static

◆ yuv_channel_items

const EnumPropertyItem blender::nodes::node_composite_channel_matte_cc::yuv_channel_items[]
static