FrameGraph class final

Collects nodes, then works out the frame.

Registration order is meaningful and deliberately so: two nodes that both write one resource — bloom adding to a target the composite also writes — have no dependency between them to derive, and something has to decide. The alternative is a priority number per node, which is the thing this was meant to replace.

It is also where ResourceVersions come from. Each write in registration order produces the next version of a name and each read binds to the version current at that moment, so a chain of passes over one target is a chain of versions and the order falls out of it rather than being special-cased.

Constructors

FrameGraph()

Properties

hashCode int
The hash code for this object.
no setterinherited
length int
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addExternal(ResourceId id) → void
Registers a resource the engine provides rather than a node: the frame's colour target, the scene depth, the swapchain image.
addNode(FrameGraphNode node) → void
clear() → void
compile({required List<ResourceId> outputs}) CompiledFrameGraph
Works out which nodes run and in what order to produce outputs.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited