FrameSetup

Per-frame anti-aliasing setup published by an IAntialiasStrategy.

In the namespace construct::aa. Declared in src/libs/libconstruct/construct/aa/FrameSetup.hpp.

Detailed description

The strategy is consulted once per frame BEFORE rendering. Each field maps to a specific concern the pipeline has to honour:

- sampleCount drives the offscreen MSAA renderable allocation. >1 enables Vulkan multisample resolve into the single-sample offscreen sampling target. - renderScale > 1.0 enlarges the offscreen RT linearly (renderScale=2.0 → 4× the pixels = SSAA 2×). The downsample back to output size happens implicitly in the final blit. - subPixelJitter is added to the projection matrix in NDC units; used by temporal methods (TAA, DLSS) to vary the sample position from frame to frame and accumulate into a history buffer. - needsHistory tells the pipeline to keep a copy of the previous frame's resolved color for reprojection. - needsMotionVecs tells the pipeline to render an extra motion-vector RT (typically RG16F) per frame for TAA/DLSS.

A strategy that doesn't need a field leaves it at the default, which represents the "do nothing" identity for that knob.

In this section