Skip to content

Mirror or kaleidoscope? They are not the same cost

mirror_* and kaleido_* both give you N-fold symmetry, and on a line scene they can look nearly alike — but they work at opposite ends of the pipeline:

mirror_order / mirror_reflectthe kaleido_* family
what it foldsthe geometry, before rasterizationthe finished pixels
whenwhile the scene builds its segmentsa post stage, after the scene has drawn
resolution costnone — every replicated segment is drawn at full target resolutionresamples through the stage’s internal grid
works online systems only (parametric_curve, lsystem, star_pattern)any scene

On a line scene, prefer the mirror whenever either would do. Replicated geometry is rasterized at the target’s own resolution, so a 24-fold mirror is exactly as crisp as no mirror at all; the screen-space fold has to resample.

The post stages follow the render target rather than sitting at a fixed grid (see below), which keeps the fold’s cost down — but it is still a resample, and the mirror is still free.

Built from a8ce055 at version 0.115.0. This site tracks main and is not versioned per release.