Lumiera  0.pre.03
»edit your freedom«
dispatcher.hpp File Reference

Go to the source code of this file.

Description

Service abstraction within the render engine for generating render jobs.

On interface level, the render engine uses the notion of a calculation stream to represent an ongoing rendering process. Within the implementation of such a process, the Dispatcher is responsible for transforming the generic setup of such a calculation stream into a sequence of concrete jobs, anchored at some distinct point in time.

Todo:
as of 4/2023 a complete rework of the Dispatcher is underway //////////////////////////////////////TICKET #1275

Definition in file dispatcher.hpp.

#include "steam/common.hpp"
#include "steam/mobject/model-port.hpp"
#include "steam/engine/job-ticket.hpp"
#include "steam/engine/job-planning.hpp"
#include "steam/play/timings.hpp"
#include "steam/play/output-slot.hpp"
#include "lib/iter-explorer.hpp"
#include "lib/time/timevalue.hpp"
#include "lib/nocopy.hpp"
#include <functional>
#include <utility>
#include <tuple>

Classes

class  Dispatcher
 Internal abstraction: a service within the engine for translating a logical calculation stream (corresponding to a PlayProcess) into a sequence of individual RenderJob entries for calculations and data access. More...
 
struct  Dispatcher::PipeFrameTick
 Job-planning Step-1: establish a sequence of frame start times. More...
 
struct  Dispatcher::PipelineBuilder< SRC >
 A Builder wrapper, allowing to build a Job-planning pipeline step by step, while supplying contextual information from the CalcStream. More...
 
struct  Dispatcher::PipelineBuilder< SRC >
 A Builder wrapper, allowing to build a Job-planning pipeline step by step, while supplying contextual information from the CalcStream. More...
 
struct  Dispatcher::PlanningPipeline< PIP >
 A complete job-planning pipeline: this »Lumiera Forward Iterator« drives the actual job-planning process on-demand. More...
 
struct  Dispatcher::PlanningPipeline< PIP >
 A complete job-planning pipeline: this »Lumiera Forward Iterator« drives the actual job-planning process on-demand. More...
 

Namespaces

 steam
 Steam-Layer implementation namespace root.
 
 steam::engine
 Lumiera's render engine core and operational control.