30#ifndef STEAM_ENGINE_RENDER_DRIVE_H
31#define STEAM_ENGINE_RENDER_DRIVE_H
47 using mobject::ModelPort;
Lumiera's internal time value datatype.
Internal abstraction: a service within the engine for translating a logical calculation stream (corre...
The active drive to keep the render process going – implemented as a job planning job,...
size_t hashOfInstance(InvocationInstanceID) const override
play::Timings const & getTimings() const
Job prepareRenderPlanningFrom(FrameCnt startFrame)
create the "start trigger job" Scheduling this job will effectively get a calculation stream into act...
JobKind getJobKind() const
void invokeJobOperation(JobParameter) override
entry point (interface JobClosure): invoke the concrete job operation.
InvocationInstanceID buildInstanceID(HashVal) const override
RenderDrive(RenderEnvironment &renderEnvironment, ModelPort port, uint chan)
void performJobPlanningChunk(FrameCnt nextStartFrame)
Job buildFollowUpJobFrom(Time refPoint)
RenderEnvironment & engine_
Abstract definition of the environment hosting a given render activity (CalcStream).
virtual ~RenderEnvironment()
this is an interface
virtual play::Timings & effectiveTimings()=0
virtual Dispatcher & getDispatcher()=0
Handle designating a point within the model, where actually output data can be pulled.
Generic frame timing specification.
Interface of the closure for frame rendering jobs.
Individual frame rendering task, forwarding to a closure.
Service abstraction within the render engine for generating render jobs.
Definition of a render job.
@ META_JOB
render process self organisation
opaque ID attached to each individual job invocation.
Organising the output data calculation possibilities.
int64_t FrameCnt
relative framecount or frame number.
size_t HashVal
a STL compatible hash value
Steam-Layer implementation namespace root.
lumiera_jobParameter const & JobParameter
Basic set of definitions and includes commonly used together.
How to define a timing specification or constraint.