Skip to content

Multi-Output Nodes

A multi-output node exposes more than one output port, each carrying different data derived from the same computation. Because every port comes from a single evaluation, the outputs always agree with each other: a cell-color map and a distance map taken from one Voronoi node describe the same scatter, and an ambient occlusion map and a bent normal from one Surface Detail node can never disagree about radius.

Seven node types do this. Each is listed below with its ports; full parameter tables live on the linked reference pages.

Type id: voronoi_noise. See Generators.

OutputCarries
CellsFlat random fill per region with dark walls between them; the default output.
F1 DistanceDistance to the nearest seed point, normalized so the ramp spans 0 to 1 whatever the scale.
Edge DistanceDistance to the nearest region boundary: black exactly on the boundary, rising into the region. The classic crack and edge mask. It is a true boundary distance, not an F2−F1 approximation, and it is the same distance the Cells port cuts its walls from, so the two round and thicken together.
Cell ColorA random RGB color, flat-filled per region.
Cell PositionThe owning seed point’s location, flat-filled per region. Feeds per-region gradients and warps.
Cell IDA stable random gray per region, for driving per-region variation.

Type id: brick. See Generators.

OutputCarries
BricksThe brick faces, each shaded with its own random tone; the default output.
MortarThe exact complement of the brick mask, so the two never leave a hairline gap or overlap along the bevel.
Cell IDA stable random gray per brick, for per-brick color or roughness variation.
Cell UVThe position within each brick, 0 to 1 on each axis, carried in red and green. Wire it into a gradient or a sampler to place something inside every brick.

Type id: tile_sampler. See Generators.

OutputCarries
PatternThe composited scatter; the default output.
Instance IDA stable identifier for the tile owning each pixel.
Random ValueThat tile’s random value, for driving per-instance variation downstream.
PositionThe owning tile’s center position.

Type id: high_pass. See Filters.

OutputCarries
High PassDetail finer than the radius, centered on mid-gray (0.5 means no deviation from the local average), which drops straight into an Overlay or Add blend.
Low PassThe broad structure that was subtracted; this is the blur the high pass removed.

Type id: edge_detect. See Filters.

OutputCarries
MagnitudeBright where the input has an edge, dark on flat areas.
DirectionThe direction each edge runs, encoded in red and green centered on 0.5 exactly like a normal or flow map, so it feeds Warp, Vector Morph and Rotate’s Vector mode unchanged. It is normalized, so a faint edge still reports a usable direction; strength is Magnitude’s job.

Type id: ao_from_height. See Normal.

OutputCarries
OcclusionClassic ambient occlusion, dark where the neighborhood stands above the point.
ThicknessHow enclosed the point is, sampled at double the radius: bright in troughs with material all around, dark on exposed ridges. Drives subsurface and translucency masks.
Bent NormalThe average unoccluded direction encoded as a normal map, so cavities self-shadow correctly when lit along it.

Type id: height_blend. See Blend.

OutputCarries
HeightThe two inputs merged by height so the taller surface wins; the default output.
Blend MaskB’s share of the blend, which is the height-sorted boundary itself. Feed it to ordinary Blend nodes so the matching base color, roughness and normal layers composite along the same interlocking seam. Re-deriving that boundary with a Threshold would not line up.