Lightmetrica  0.0.1.50dbee3 (yosakoi)
 All Classes Functions Variables Typedefs Enumerations Enumerator
Public Member Functions | List of all members
MPIRenderProcessScheduler Class Referencefinal

Public Member Functions

 LM_COMPONENT_IMPL_DEF ("mpi")
 
virtual bool Configure (const ConfigNode &node, const Assets &assets) override
 
virtual void SetTerminationMode (TerminationMode mode, double time) override
 
virtual bool Render (Renderer &renderer, const Scene &scene) const override
 
virtual boost::signals2::connection Connect_ReportProgress (const std::function< void(double, bool)> &func) override
 
virtual long long NumSamples () const override
 
- Public Member Functions inherited from RenderProcessScheduler
 LM_COMPONENT_INTERFACE_DEF ("rendersched")
 
- Public Member Functions inherited from Component
virtual std::string ComponentInterfaceTypeName () const =0
 
virtual std::string ComponentImplTypeName () const =0
 
- Public Member Functions inherited from SIMDAlignedType
void * operator new (std::size_t size) throw (std::bad_alloc)
 
void operator delete (void *p)
 

Detailed Description

MPI render process scheduler. Render process scheduler for hybrid MPI + OpenMP parallelization. We note that this scheduler requires SamplingBasedRenderProcess.

See also
SamplingBasedRenderProcess.
Inheritance diagram for MPIRenderProcessScheduler:
SamplingBasedRenderProcessScheduler RenderProcessScheduler Component SIMDAlignedType

Member Function Documentation

bool MPIRenderProcessScheduler::Configure ( const ConfigNode node,
const Assets assets 
)
overridevirtual

Configure scheduler from XML element.

Parameters
nodeA XML element which consists of render_scheduler element.
assetsAssets manager.
sceneScene.
Return values
trueSucceeded to configure.
falseFailed to configure.

Implements RenderProcessScheduler.

virtual boost::signals2::connection MPIRenderProcessScheduler::Connect_ReportProgress ( const std::function< void(double, bool)> &  func)
inlineoverridevirtual

Connect to ReportProgress signal. The signal is emitted when the progress of asset loading is changed.

Parameters
funcSlot function.

Implements RenderProcessScheduler.

virtual long long MPIRenderProcessScheduler::NumSamples ( ) const
inlineoverridevirtual

Get number of samples. This function is valid only if the termination mode is Samples.

Returns
Number of samples.

Implements SamplingBasedRenderProcessScheduler.

bool MPIRenderProcessScheduler::Render ( Renderer renderer,
const Scene scene 
) const
overridevirtual

Start rendering. The function starts to render the #scene according to the current configuration.

Parameters
sceneScene.
Return values
trueSucceeded to render the scene.
trueFailed to render the scene.

Implements RenderProcessScheduler.

virtual void MPIRenderProcessScheduler::SetTerminationMode ( TerminationMode  mode,
double  time 
)
inlineoverridevirtual

Set termination mode. Configures termination mode of the renderer and its parameters.

Parameters
terminationModeTermination mode.
timeTermination time for Time mode (in seconds).

Implements RenderProcessScheduler.


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