Sort
Sort points, geometry, or primitives by attribute, distance, or direction.
What it does
Sort reorders whatever comes in. Points, geometry, or shapes are reordered by an attribute, by position along an axis, by distance from a point, in a spiral, or shuffled with a random seed. An image or a Volume has its pixels or Z-depth slices reordered instead: rows or columns sorted by brightness, a colour channel, or density, with an optional pass to accumulate, blend, or take the maximum across the sorted stack.
The mode list and the parameters shown follow what is wired into Input.
When to use it
Elements processed or drawn in a specific order: by an attribute value, front-to-back along an axis, or by distance from a point.
Spiral or radial ordering for a stagger, a build-on animation, or a winding pattern.
A deterministic random shuffle.
The pixel-sort glitch look on an image: rows or columns sorted by brightness or a channel, or following a vector field's streamlines for a flowing sort.
A Volume stacked from unordered slices that needs depth-sorting before further processing.
| Parameter | Type | Default | What it does |
|---|---|---|---|
input | Collection or Field or Color Field | — | Shapes, Geometry, Points, or Volume Texture to sort |
sort_type | String | "Pixel Sort" | Frame Reorder: rearrange frame order. Pixel Sort: sort pixels within each frame. One of: Frame Reorder, Pixel Sort. |
axis | String | "Vertical" | Horizontal: sort rows. Vertical: sort columns. Field: sort along vector field streamlines. One of: Horizontal, Vertical, Field. |
field | Color Field or Frame Sequence or Field | — | Vector field or image defining sort direction (RG = direction vector). Used when axis = Field. |
step_size | Number | 1 | Step size for streamline tracing (pixels). Smaller = more precise curves, larger = faster. |
max_length | Number | 2048 | Maximum streamline length in pixels. |
mode | String | "Attribute" | Sorting method: Attribute (by value), Axis (by position), Proximity (by distance), Spiral (angular + radial), Random (shuffle). One of: Attribute, Axis, Proximity, Spiral, Random. |
attribute | String | "@index" | Attribute name to sort by (e.g., @index, @u, P.x, or custom) |
axis_angle | Number | 0 | Axis angle: 0° = left→right, 90° = bottom→top, 45° = diagonal |
center | Vec3 | (0, 0, 0) | Center point for 3D distance calculation |
spiral_center | Vec2 | (0, 0) | Center point of the spiral |
twist | Number | 1 | Spiral tightness. 0 = pure angle (clock sweep). Higher = tighter spiral |
seed | Number | 0 | Random seed for deterministic shuffle |
direction | String | "Ascending" | Sort direction: Ascending (low to high) or Descending (high to low). One of: Ascending, Descending. |
reindex | Boolean | true | Reassign @index and @u attributes based on new order |
add_total | Boolean | true | Add @total attribute if not present |
volume_sort_key | String | "Luminance" | Sorting key per pixel: Luminance (perceptual brightness), individual channel, or raw density. One of: Luminance, Red, Green, Blue, Alpha, Density. |
propagation | String | "None" | Post-sort processing along Z. Accumulate: additive buildup. Max: take maximum. Blend: smooth between layers. One of: None, Accumulate, Max, Blend. |
blend_radius | Number | 1 | Number of adjacent slices to blend in each direction |
strength | Number | 1 | Effect strength / wet-dry (0 = no effect, 1 = full). Editable, wirable, keyframable. |
Gotchas
In Axis mode, 0° sorts left-to-right and 90° sorts bottom-to-top. Any angle between sorts along a diagonal.
Spiral mode's Twist controls tightness: 0 gives a pure clockwise sweep around the centre, higher values a tighter, more coiled winding.
Reindex and Add Total, which refresh @index/@u/@total after a reorder, are visible only when the input is a shape, not for Geometry or Points collections. Reindexing after sort currently applies there only.
Frame Reorder (under Sort Type, for image sequences) is present in the UI but does not yet change frame order. Only Pixel Sort is active for that input type today.
Worked example
Add a Sort node and wire in a collection of shapes.
Leave Mode on Attribute and set Attribute to
@indexfor a stable pass-through order, or type a custom attribute name to sort by that value.Switch Mode to Proximity and set Center to sort elements by distance from that point: nearest first in Ascending, farthest first in Descending.
Try Spiral mode: set Spiral Center and raise Twist to build a winding order, useful for staggered reveal animations.
For an image, wire it into Input instead, set Axis to Vertical or Horizontal, and pick a Volume/pixel Sort Key like Luminance for a pixel-sort glitch effect.