Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
LumieraRenderProcessBuilder Class Reference

Description

Definition at line 56 of file render-configurator.cpp.

Public Member Functions

 LumieraRenderProcessBuilder (POutputManager outputManager, Timings playbackSpeed)
 
- Public Member Functions inherited from RenderConfigurator
virtual ~RenderConfigurator ()
 this is an interface
 
Feed buildActiveFeed (ModelPort)
 Template Method: how to build an active render feed, pulling from the given exit point of the model and feeding the OutputSlot established appropriately to deliver media data of suitable type.
 

Private Member Functions

OutputSlotgetOutputFor (ModelPort port)
 retrieve a suitable output sink for the data to be produced at the given model exit point.
 
engine::CalcStreams buildCalculationStreams (ModelPort port, OutputSlot &output)
 build active rendering connections, thereby delivering each channel of the given model port into the corresponding output sink.
 
engine::CalcStreams activateEngine (ModelPort port, Timings timings, OutputSlot::Allocation &activeOutputConnection, RenderQuality quality)
 

Private Attributes

POutputManager outputResolver_
 
Timings playbackTimings_
 
RenderQuality renderQuality_
 

Additional Inherited Members

- Public Types inherited from RenderConfigurator
using ConnectFunction = function< Feed(ModelPort)>
 

Constructor & Destructor Documentation

◆ LumieraRenderProcessBuilder()

LumieraRenderProcessBuilder ( POutputManager  outputManager,
Timings  playbackSpeed 
)
inline

Definition at line 96 of file render-configurator.cpp.

Member Function Documentation

◆ getOutputFor()

OutputSlot & getOutputFor ( ModelPort  port)
inlineprivatevirtual

retrieve a suitable output sink for the data to be produced at the given model exit point.

While the port already defines the necessary StreamType, this strategy still has to decide what concrete output sink to use accordingly.

Implements RenderConfigurator.

Definition at line 66 of file render-configurator.cpp.

References LERR_.

◆ buildCalculationStreams()

engine::CalcStreams buildCalculationStreams ( ModelPort  ,
OutputSlot  
)
inlineprivatevirtual

build active rendering connections, thereby delivering each channel of the given model port into the corresponding output sink.

This strategy will try to allocate the output slot for output (may fail). Moreover, a suitable combination of output timings and service quality will be picked

Returns
List of active CalcStream descriptors, created and registered with the EngineFacade, one for each channel connection.
Note
when this strategy function returns, the corresponding render activities are already up and running.
Todo:
get rid of the multiple channel connections /////////////////////////////////////////TICKET #1297 : retract differentiation into channels here (instead use ModelPorts in the Segment)

Implements RenderConfigurator.

Definition at line 78 of file render-configurator.cpp.

References OutputSlot::allocate(), Timings::constrainedBy(), and OutputSlot::Allocation::getTimingConstraints().

+ Here is the call graph for this function:

◆ activateEngine()

engine::CalcStreams activateEngine ( ModelPort  port,
Timings  timings,
OutputSlot::Allocation activeOutputConnection,
RenderQuality  quality 
)
inlineprivate

Definition at line 89 of file render-configurator.cpp.

Member Data Documentation

◆ outputResolver_

POutputManager outputResolver_
private

Definition at line 60 of file render-configurator.cpp.

◆ playbackTimings_

Timings playbackTimings_
private

Definition at line 61 of file render-configurator.cpp.

◆ renderQuality_

RenderQuality renderQuality_
private

Definition at line 62 of file render-configurator.cpp.

+ Inheritance diagram for LumieraRenderProcessBuilder:
+ Collaboration diagram for LumieraRenderProcessBuilder:

The documentation for this class was generated from the following file: