Vixen
caa30e12
csharp
public record class StandardFrameAsset

The engine-owned frame, as one node: docs/plan/39's !StandardFrame.

Read the guide page for this →

Remarks

Expands at build time into the same node graph a hand-authored document would contain — sample 13's Frame.vxcompositor at full knobs, the bare sky/opaque/tonemap chain at none. The knobs are few and semantic on purpose: they say what the game wants, never how the frame is wired, and everything the expansion emits (resource extents, load actions, seat/publisher pairs, pass order) is the invariant the 2026-08-04 audit paid for, encoded once here instead of transcribed per project.

The type lives in the effect set rather than beside the compositor schema, and not by accident: the expansion emits SkyAsset, TonemapAsset and their siblings, which Vixen.Rendering must not reference — the builder reaches node kinds it does not know through ISceneRendererFactory, and this node reaches the builder the same way, through PostEffectFactory implementing ICompositorAssetTransformer. Registering the factory a host already registers is therefore the whole installation.

⚠ Two facts stay the host's, exactly as they are for a hand-authored frame. The caster stages are extraction's: a host whose objects should cast adds "Shadow" (and "Motion" for TAA) to GraphicsOptions.CasterStages, because a frame document cannot decide what an object is extracted as. And the ambient split is the material's: gi above Off emits the split targets and the combine, which pay off when the shading pass runs with ForwardPlus.SplitOutputs on. Driving both from the expansion is owed to a later increment; until then they are stated here rather than discovered.

Artistic values are deliberately neutral — the shipped node defaults, untouched — because look belongs to the .vxlook profile (Look), not to pipeline structure: it lands on the emitted nodes through the volume fold at run time, so editing it relights the same expanded document with nothing rebuilt. What is not neutral is structure: depth read-only on the velocity and particle passes, back-face culling and zero raster bias on the caster stage, the per-target load lists, the TAA-before-fog ordering. Those are correctness, and they are this type's whole point.

Fields and properties (13)

  • public string Name

    The node's name, for debug groups and for a human reading the file.

  • public bool Enabled

    Whether the node runs.

  • public QualityTier? Quality

    The scalability tier the numeric sub-knobs are taken from, or null for the host's pick.

  • public RenderQualityAsset? Preset

    Per-document quality overrides — the top layer of doc 39's waterfall.

  • public LookAsset? Look

    The project's look profile — the artistic base under the volume stack.

  • public ShadowMode Shadows

    Sun and lamp shadows.

  • public GiMode Gi

    The global-illumination stack.

  • public ReflectionsMode Reflections

    Reflections.

  • public AntialiasingMode Antialiasing

    Antialiasing — and, through it, whether the frame has motion vectors.

  • public ExposureMode Exposure

    Whether the frame meters itself or trusts the camera.

  • public bool Particles

    Whether the additive particle pass and its stage are emitted.

  • public string Output

    The resource the finished frame is written to.

  • public StandardFrameExtensions Extensions

    The project's own nodes, spliced at the three named seams.

Used by (17)

  • RenderQualityTestsVixen.Rendering.PostFx.Tests
  • StandardFrameVixen.Rendering.PostFx
  • StandardFrameExposureDeviceTestsVixen.Graphics.Golden.Tests
  • StandardFrameTestsVixen.Rendering.PostFx.Tests
  • StandardFrameTierImageTestsVixen.Graphics.Golden.Tests
  • TerrainCasterTestsVixen.Rendering.Terrain.Tests
  • TerrainNodeTestsVixen.Rendering.Terrain.Tests
  • TerrainVelocityTestsVixen.Rendering.Terrain.Tests
  • TierSceneVixen.Graphics.Golden.Tests
  • TypeRegistrationVixen.Rendering.PostFx
  • Vixen_Rendering_PostFx_StandardFrameAssetSerializerVixen.Rendering.PostFx
  • CompositorWriterTestsVixen.Editor.Assets.Tests
  • FrameDocumentTestsVixen.Editor.AssetEditors.Tests
  • HostedRendererTestsVixen.App.Tests
  • StandardFrameDocumentVixen.Editor.AssetEditors
  • StandardFrameSettingsVixen.Editor.AssetEditors
  • StandardFrameViewVixen.Editor.AssetEditors