Node Kinds

Node kinds define execution roles within the graph.

Each kind establishes:

  • Port configuration
  • Expected inputs
  • Expected outputs
  • Runtime behavior category

Source Nodes

Produce textures without upstream dependencies.

Examples:

  • Video decode nodes
  • Webcam input
  • Procedural generators

Guarantee: At least one output texture per frame (unless external failure).


Processing Nodes

Transform input textures to a new output.

Examples:

  • ShaderPass
  • Color transforms
  • Post-processing effects

Guarantee: Pure transformation given deterministic shader and inputs.


Mixer Nodes

Combine multiple textures into a single output.

Characteristics:

  • Fixed input count per node type
  • Semantics defined by shader
  • Parameters supplied via NodeProps

Output Nodes

Terminal nodes that write results to:

  • Framebuffers
  • Named outputs
  • Readback buffers

They do not produce further graph outputs.


Extensibility Guidance

Prefer:

  • New shaders
  • New configuration parameters

Avoid:

  • Introducing new node kinds unless execution semantics require it

This site uses Just the Docs, a documentation theme for Jekyll.