Bevel Alpha

Brief Description

Add a 3D relief effect to an object based on its alpha channel. The Angle controls which area are considered shadows and which areas are considered light. The relief is produced by duplicating Edge Precision times the edge pixels along a distance of Thickness pixels. The higher the precision, the longeer it is to render.

Controls

Parameter / Script Name Type Default Function
Enabled / enabled Boolean On
Red / process_red Boolean On Enable the red channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0.
Green / process_green Boolean On Enable the green channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0.
Blue / process_blue Boolean On Enable the blue channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0.
Alpha / process_alpha Boolean On Enable the alpha channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0.
Light Color / light_color Color 1, 1, 1, 0.9
Light Mode / light_mode Choice Screen

Add: Ac + Dc — Adds source to destination.

Color Dodge: if Ac < 1 → min(1, Bc / (1 - Ac)); else 1.

Lighten: max(Ac, Bc).

Linear Dodge: min(Ac + Bc, 1).

Screen: Ac + Bc - Ac * Bc.

Hard-light: multiply or screen depending on Ac.

Hard Mix: if vivid-light(Ac,Bc) < 0.5 then 0 else 1.

Linear Light: linear-burn or linear-dodge depending on Ac.

Overlay: multiply or screen depending on Bc.

Pin Light: completely removes mid-tones.

Soft Light: multi-branch soft-light formula.

Vivid Light: color burn/dodge.

Difference: abs(A - B).

Divide: Ac / Bc (if Dc > 0 and Ac > 0).

Exclusion: Ac + Bc - 2AcBc.

Minus: Ac - Bc.

Subtract: Bc - Ac.

Color: SetLum(Ac, Lum(Bc)).

Hue: SetLum(SetSat(Ac, Sat(Bc)), Lum(Bc)).

Luminosity: SetLum(Bc, Lum(Ac)).

Saturation: SetLum(SetSat(Bc, Sat(Ac)), Lum(Bc)).

Replace: Ac.

Destination Atop: Bca × Aa + Aca × (1 - Ba).

Destination Out: Ba * Bc * (1 - Aa).

Destination Over: Aa * (1 - Ba) + Bc.

Destination In: Bc * Aa.

Source Atop: Ac * Ba + Bc * (1 - Aa).

Source Out: Ac * (1 - Ba).

Normal: Ac + Bc * (1 - Aa).

Source In: Ac * Ba.

Xor: Ac * (1 - Ba) + Bc * (1 - Aa).

Average: (Ac + Bc) / 2.

Conjoint Over: branch based on Aa ≤ Ba.

Disjoint Over: branch based on Aa + Ba ≥ 1.

Geometric: 2AcBc / (Ac + Bc).

Grain Extract: Bc - Ac + 0.5.

Grain Merge: Bc + Ac - 0.5.

Hypot: sqrt(Ac² + Bc²).

Reflect: Aa² / (1 - Ba).

Color Burn: 1 - min(1, (1 - Bc) / Ac).

Darken: min(Ac, Bc).

Linear Burn: Bc + Ac - 1.

Multiply: Ac * Bc.

Multiply (Math): Ac * Bc (negatives preserved).

Shadow Color / shadow_color Color 0, 0, 0, 0.9
Shadow Mode / shadow_mode Choice Multiply

Add: Ac + Dc.

Color Dodge: min(1, Bc / (1 - Ac)).

Lighten: max(Ac, Bc).

Linear Dodge: min(Ac + Bc, 1).

Screen: Ac + Bc - Ac * Bc.

Hard-light: multiply/screen based on Ac.

Hard Mix: threshold version of vivid-light.

Linear Light: burn/dodge based on Ac.

Overlay: multiply/screen based on Bc.

Pin Light: removes mid-tones.

Soft Light: complex soft-light model.

Vivid Light: color burn/dodge.

Difference: abs(A - B).

Divide: Ac / Bc (if input valid).

Exclusion: Ac + Bc - 2AcBc.

Minus: Ac - Bc.

Subtract: Bc - Ac.

Color: SetLum(Ac, Lum(Bc)).

Hue: SetLum(SetSat(Ac, Sat(Bc)), Lum(Bc)).

Luminosity: SetLum(Bc, Lum(Ac)).

Saturation: SetLum(SetSat(Bc, Sat(Ac)), Lum(Bc)).

Replace: Ac.

Destination Atop: Bca × Aa + Aca × (1 - Ba).

Destination Out: Ba * Bc * (1 - Aa).

Destination Over: Aa * (1 - Ba) + Bc.

Destination In: Bc * Aa.

Source Atop: Ac * Ba + Bc * (1 - Aa).

Source Out: Ac * (1 - Ba).

Normal: Ac + Bc * (1 - Aa).

Source In: Ac * Ba.

Xor: Ac * (1 - Ba) + Bc * (1 - Aa).

Average: (Ac + Bc) / 2.

Conjoint Over: branch based on Aa ≤ Ba.

Disjoint Over: branch based on Aa + Ba ≥ 1.

Geometric: 2AcBc / (Ac + Bc).

Grain Extract: Bc - Ac + 0.5.

Grain Merge: Bc + Ac - 0.5.

Hypot: sqrt(Ac² + Bc²).

Reflect: Aa² / (1 - Ba).

Color Burn: 1 - min(1, (1 - Bc) / Ac).

Darken: min(Ac, Bc).

Linear Burn: Bc + Ac - 1.

Multiply: Ac * Bc.

Multiply (Math): Ac * Bc (negatives preserved).

Thickness / thickness Float 2D 10, 10
Angle / angle Float 0
Edge Precision / edge_precision Float 10
Mask / mask Image -
Mix / mix_with_source Float 1 Dissolves between the original image at 0 and the image with the effect applied at 1.
Light/Shadow Colorspace / input_colorspace Choice Project Display Space Colorspace in which Light and Shadow color values are expressed:
Project Working Space: The color is assumed to be expressed in the project working space.
Project Display Space: The color is assumed to be expressed in the project display space.