ICompositorAssetTransformer
public interface ICompositorAssetTransformerRewrites a compositor document before the builder reads it.
Remarks
The document-level half of ISceneRendererFactory, and it exists for the same reason: a node kind that expands into other node kinds — !StandardFrame into the graph it stands for — has to do its expanding where those kinds are known, and the effect set is downstream of this assembly. A factory can build one node from one asset; it cannot add resources or stages to the document around it, which is exactly what an expansion has to do. So a factory that also implements this is asked first, with the whole document in its hands.
Build applies every registered transformer once, in registration order, before stages, resources or nodes are read — so everything downstream of the transform sees only the expanded document and nothing ever meets the node that was expanded away. A transform must be pure: the same document in, the same document out, because a build may run again from the same asset on any reload.
Methods (1)
GraphicsCompositorAsset Transform(GraphicsCompositorAsset document, CompositorBuilder builder)Returns the document to build — the input itself when there is nothing to expand.
Used by (3)
- CompositorBuilderVixen.Rendering
- PostEffectFactoryVixen.Rendering.PostFx
- TerrainFactoryVixen.Rendering.Terrain