25 #include <boost/functional/hash.hpp> 39 ASSERT (parameter.nominalTime == getTimings().getFrameStartAt (parameter.invoKey.frameNumber));
41 this->performJobPlanningChunk (parameter.invoKey.frameNumber);
46 RenderDrive::buildInstanceID (
HashVal seed)
const 48 UNIMPLEMENTED (
"systematically generate an invoKey, distinct for the nominal time");
54 UNIMPLEMENTED (
"the actual meat: advance the render process");
55 return boost::hash_value (invoKey.frameNumber);
66 invoKey.frameNumber = startFrame;
67 Time nominalPlanningStartTime = getTimings().getFrameStartAt (startFrame);
69 return Job(*
this, invoKey, nominalPlanningStartTime);
74 RenderDrive::performJobPlanningChunk(FrameCnt nextStartFrame)
76 UNIMPLEMENTED (
"the actual meat: advance the render process");
81 RenderDrive::buildFollowUpJobFrom (
Time refPoint)
83 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.