IAntialiasStrategy

Generic anti-aliasing strategy contract.

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

Detailed description

A single interface that hosts every AA family we care about without the pipeline knowing which one is active:

- MSAA : multi-sample renderable → FrameSetup::sampleCount - SSAA : oversize-then-downsample → FrameSetup::renderScale - TAA / DLSS : sub-pixel jitter + history → FrameSetup::subPixelJitter + needsHistory - FXAA / SMAA : post-process fullscreen passes → postEffects() - Analytic SDF : per-fragment shader smoothstep → wantsAnalyticEdgeAA() - DLSS upscale : low-res render + ML upscale → renderScale<1 + postEffects()

Strategies that combine families wrap children in a composite (e.g. analytic SDF AA + FXAA cleanup as a single strategy).

The pipeline calls these methods at three injection points each frame: 1. frameSetup() — at frame start, before RT setup 2. wantsAnalyticEdgeAA() — read once during layer init 3. postEffects() — appended to PostProcessLayer chain 4. onFrameComplete() — at frame end, for history swap

An ID-based factory (AntialiasStrategyFactory) maps preset/UI strings like "none", "msaa-4x", "ssaa-2x", "fxaa" to a concrete IAntialiasStrategy instance.

In this section