Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Fixed standard setup used in each Port of the Render Node to generate data.
Organise the state related to the invocation of s single ProcNode::pull() call This header defines part of the "glue" which holds together the render node network and enables to pull result frames from the nodes. Doing so requires some invocation local state to be maintained, especially a table of buffers used to carry out the calculations. Further, getting the input buffers filled requires to issue recursive pull()
calls, which on the whole creates a stack-like assembly of local invocation state. The actual steps to be carried out for a pull()
call are dependent on the configuration of the node to pull. Each node has been preconfigured by the builder with a Connectivity descriptor and a concrete type of a StateAdapter. The actual sequence of steps is defined in the header nodeoperation.hpp out of a set of basic operation steps. These steps all use the passed in Invocation object (a sub-interface of StateAdapter) to access the various aspects of the invocation state.
For each individual ProcNode::pull() call, the WiringAdapter::callDown() builds an StateAdapter instance directly on the stack, managing the actual buffer pointers and state references. Using this StateAdapter, the predecessor nodes are pulled. The way these operations are carried out is encoded in the actual StateAdapter type known to the NodeWiring (WiringAdapter) instance. All of these actual StateAdapter types are built as implementing the engine::StateClosure interface.
Definition in file turnout.hpp.
#include "steam/common.hpp"
#include "steam/engine/proc-node.hpp"
#include "steam/engine/turnout-system.hpp"
#include "steam/engine/feed-manifold.hpp"
#include "lib/several.hpp"
#include "lib/meta/function.hpp"
#include <utility>
#include <array>
Classes | |
struct | SimpleWeavingPattern< INVO > |
Standard implementation for a Weaving Pattern to connect the input and output data feeds (buffers) into a processing function. More... | |
class | Turnout< PAT > |
Processing structure to activate a Render Node and produce result data. More... | |
Functions | |
template<class ADA > | |
constexpr bool | _verify_usable_as_InvocationAdapter () |
Definition to emulate a Concept for the Invocation Adapter. More... | |
Namespaces | |
steam | |
Steam-Layer implementation namespace root. | |
steam::engine | |
Lumiera's render engine core and operational control. | |