CompositeStrategy
Combine multiple AA strategies into one.
| Inherits | construct::aa::IAntialiasStrategy |
In the namespace construct::aa. Declared in src/libs/libconstruct/construct/aa/CompositeStrategy.hpp.
Detailed description
Lets the user (or factory parser) build "MSAA 4× + FXAA cleanup" or "SSAA 2× + FXAA cleanup" as a single strategy without special-casing combinations in the pipeline. The composite delegates each contract method to its children with the right combining rule:
- frameSetup: sample-count = max across children, render-scale = max across children, sub-pixel jitter = sum, needs* flags = OR - wantsAnalyticEdgeAA: OR across children - postEffects: concatenation - onFrameComplete: called on each child in order
Order matters for post-effects only — children earlier in the list contribute their effects earlier in the chain. For most families (RT-shape + post-pass) the order is semantically clear: put the RT-shape strategy first (MSAA / SSAA) and the post-pass strategy second (FXAA / SMAA), so the post pass sees the resolved image.