Vixen
02b45cc4
csharp
public abstract class CompositorNode

A node of a graphics-compositor graph: something that becomes part of a frame.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The graph is a chain, and a container is a branch off it. Every other graph this framework carries is data flow — a node hands the next one a value — and a frame is not that: a frame is a sequence, and a render pass is a sequence nested inside one. So a compositor node has one Flow input and one Flow output, and the chain of them is the order; a node that contains others has a second flow output that starts an inner chain.

⚠ Order comes from the edges and not from where the nodes sit. Laying a graph out by eye and having that decide the frame would make dragging a node for legibility a change to the rendering — which is the bug every "the order is top to bottom" editor has.

Fields and properties (1)

  • public virtual IReadOnlyList<CompositorField> Fields

    The settings this node type holds, in the order a panel should draw them.

Methods (9)

  • protected internal virtual void Contribute(CompositorDeclarations declarations)

    Adds whatever this node declares to the frame. Nothing, for a node that draws.

  • protected internal virtual ISceneRendererAsset? Emit(IReadOnlyList<ISceneRendererAsset> children)

    Produces this node's part of the tree.

  • protected string Text(string key)

    The text one of this node's settings carries.

  • protected string[] Names(string key)

    A setting read as a list of names.

  • protected int Whole(string key, int fallback)

    A numeric setting as an integer.

  • protected float Number(string key, float fallback)

    A numeric setting as a float.

  • protected bool Flag(string key, bool fallback)

    A flag setting.

  • protected TEnum Choice<TEnum>(string key, TEnum fallback) where TEnum : struct, Enum

    An enum setting, resolved from the name the author chose.

  • protected string Named(string fallback)

    What this node is called, falling back to something rather than to nothing.

Used by (18)

  • BufferNodeVixen.Editor.AssetEditors
  • BufferReadbackNodeVixen.Editor.AssetEditors
  • BufferUploadNodeVixen.Editor.AssetEditors
  • CompositorGraphCompilerVixen.Editor.AssetEditors
  • CompositorLeafNodeVixen.Editor.AssetEditors
  • CompositorViewVixen.Editor.AssetEditors
  • ComputeNodeVixen.Editor.AssetEditors
  • FrameNodeVixen.Editor.AssetEditors
  • FullScreenNodeVixen.Editor.AssetEditors
  • GpuCullingNodeVixen.Editor.AssetEditors
  • HiZNodeVixen.Editor.AssetEditors
  • PunctualShadowNodeVixen.Editor.AssetEditors
  • RenderPassNodeVixen.Editor.AssetEditors
  • ResourceNodeVixen.Editor.AssetEditors
  • SequenceNodeVixen.Editor.AssetEditors
  • ShadowMapNodeVixen.Editor.AssetEditors
  • SingleStageNodeVixen.Editor.AssetEditors
  • StageNodeVixen.Editor.AssetEditors