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

Functions

static void node_declare (NodeDeclarationBuilder &b)
static int node_gpu_material (GPUMaterial *material, bNode *node, bNodeExecData *, GPUNodeStack *inputs, GPUNodeStack *outputs)
static float4 preprocess_foreground (const float4 &foreground, const bool straight_alpha)
static float4 alpha_over (const float4 &background, const float4 &foreground, const float factor, const bool straight_alpha)
static float4 alpha_over_disjoint (const float4 &background, const float4 &foreground, const float factor, const bool straight_alpha)
static float4 alpha_over_conjoint (const float4 &background, const float4 &foreground, const float factor, const bool straight_alpha)
static void node_build_multi_function (blender::nodes::NodeMultiFunctionBuilder &builder)
static void register_node_type_cmp_alphaover ()

Variables

static const EnumPropertyItem type_items []

Function Documentation

◆ alpha_over()

float4 blender::nodes::node_composite_alpha_over_cc::alpha_over ( const float4 & background,
const float4 & foreground,
const float factor,
const bool straight_alpha )
static

◆ alpha_over_conjoint()

float4 blender::nodes::node_composite_alpha_over_cc::alpha_over_conjoint ( const float4 & background,
const float4 & foreground,
const float factor,
const bool straight_alpha )
static

◆ alpha_over_disjoint()

float4 blender::nodes::node_composite_alpha_over_cc::alpha_over_disjoint ( const float4 & background,
const float4 & foreground,
const float factor,
const bool straight_alpha )
static

◆ node_build_multi_function()

◆ node_declare()

◆ node_gpu_material()

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

Definition at line 65 of file node_composite_alpha_over.cc.

References GPU_stack_link(), inputs, and outputs.

Referenced by register_node_type_cmp_alphaover().

◆ preprocess_foreground()

float4 blender::nodes::node_composite_alpha_over_cc::preprocess_foreground ( const float4 & foreground,
const bool straight_alpha )
static

◆ register_node_type_cmp_alphaover()

Variable Documentation

◆ type_items

const EnumPropertyItem blender::nodes::node_composite_alpha_over_cc::type_items[]
static
Initial value:
= {
"OVER",
ICON_NONE,
N_("Over"),
N_("The foreground goes over the background according to the alpha of the foreground")},
"DISJOINT_OVER",
ICON_NONE,
N_("Disjoint Over"),
N_("The foreground goes over the background according to the alpha of the foreground while "
"assuming the background is being held out by the foreground")},
"CONJOINT_OVER",
ICON_NONE,
N_("Conjoint Over"),
N_("The foreground goes over the background according to the alpha of the foreground but the "
"foreground completely covers the background if it is more opaque")},
{0, nullptr, 0, nullptr, nullptr},
}
@ CMP_NODE_ALPHA_OVER_OPERATION_TYPE_OVER
@ CMP_NODE_ALPHA_OVER_OPERATION_TYPE_CONJOINT_OVER
@ CMP_NODE_ALPHA_OVER_OPERATION_TYPE_DISJOINT_OVER
#define N_(msgid)

Definition at line 20 of file node_composite_alpha_over.cc.

Referenced by node_declare().