C4 Engine
C4 Engine API Documentation

class Route

Defined in:  C4Processes.h
The Route class represents the data flow from one process to another in a shader graph.
Definition

class Route final : public GraphRelation<Process, Route>, public Packable, public Configurable, public Memory<Process>

Member Functions
Route::GetRouteNegation Returns the route negation flag.
Route::SetRouteNegation Sets the route negation flag.
Route::GetRouteSwizzle Returns the route swizzle code.
Route::SetRouteSwizzle Returns the route swizzle code.
Constructor

Route(Process *start, Process *finish, int32 port);

Parameters
start A pointer to the process for which the route is an output.
finish A pointer to the process for which the route is an input.
port The index of the input port to which the route is connected.
Description
A Route object is an edge in a shader graph that connects two processes. It represents the data flow from the output of one process to a specific input port of another process.

When a route is initially constructed, the output process from which the route originates must be specified by the start parameter, and the input process to which it is connected must be specified by the finish parameter. The port parameter specifies which port of the input process the route is connected to, and it must be in the range [0, n − 1], where n is the number of ports belonging to the input process.

A route carries information about how data is modified before it is sent to the destination process. The data can be negated, and it can have a swizzle applied to it.
Base Classes
GraphRelation<Process, Route> A route is an edge in a graph.
Packable Routes can be packed for storage in resources.
Configurable Routes can be configured by the user in the Shader Editor.
Memory<Process> Components of a shader graph are stored in a dedicated heap.
See Also

Process