34 #include <boost/functional/hash.hpp> 48 ASSERT (parameter.nominalTime == getTimings().getFrameStartAt (parameter.invoKey.frameNumber));
50 this->performJobPlanningChunk (parameter.invoKey.frameNumber);
55 RenderDrive::buildInstanceID (
HashVal seed)
const 57 UNIMPLEMENTED (
"systematically generate an invoKey, distinct for the nominal time");
63 UNIMPLEMENTED (
"the actual meat: advance the render process");
64 return boost::hash_value (invoKey.frameNumber);
75 invoKey.frameNumber = startFrame;
76 Time nominalPlanningStartTime = getTimings().getFrameStartAt (startFrame);
78 return Job(*
this, invoKey, nominalPlanningStartTime);
83 RenderDrive::performJobPlanningChunk(FrameCnt nextStartFrame)
85 UNIMPLEMENTED (
"the actual meat: advance the render process");
90 RenderDrive::buildFollowUpJobFrom (
Time refPoint)
92 UNIMPLEMENTED (
"create a follow-up job to pick up job-planning at or after the refPoint");
Execution plan to generate render jobs within a specific render process.
Job prepareRenderPlanningFrom(FrameCnt startFrame)
create the "start trigger job" Scheduling this job will effectively get a calculation stream into act...
void invokeJobOperation(JobParameter) override
entry point (interface JobClosure): invoke the concrete job operation.
Steam-Layer implementation namespace root.
Lumiera's internal time value datatype.
opaque ID attached to each individual job invocation.
size_t HashVal
a STL compatible hash value
Individual frame rendering task, forwarding to a closure.
a family of time value like entities and their relationships.
The active core within a CalcStream, causing the render mechanism to re-trigger repeatedly.