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

#include <renderer.h>

Public Member Functions

 LM_COMPONENT_INTERFACE_DEF ("renderer")
 
virtual std::string Type () const =0
 
virtual bool Configure (const ConfigNode &node, const Assets &assets, const Scene &scene, const RenderProcessScheduler &sched)=0
 
virtual bool Preprocess (const Scene &scene, const RenderProcessScheduler &sched)=0
 
virtual bool Postprocess (const Scene &scene, const RenderProcessScheduler &sched) const =0
 
virtual RenderProcessCreateRenderProcess (const Scene &scene, int threadID, int numThreads)=0
 
virtual boost::signals2::connection Connect_ReportProgress (const std::function< void(double, bool)> &func)=0
 
- 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

Renderer class. A base class of the renderer.

Inheritance diagram for Renderer:
Component SIMDAlignedType BidirectionalPathtraceRenderer BPTOptimizedPSSMLTRenderer DirectPathtraceRenderer ExplictPathtraceRenderer ExplictPathtraceRenderer LighttraceRenderer MISPathtraceRenderer PathtraceRenderer PhotonMappingRenderer PSSMLTRenderer RaycastRenderer SimpleBidirectionalPathtraceRenderer

Member Function Documentation

virtual bool Renderer::Configure ( const ConfigNode node,
const Assets assets,
const Scene scene,
const RenderProcessScheduler sched 
)
pure virtual

Configure the renderer from XML element.

Parameters
nodeA XML element which consists of renderer element.
assetsAssets manager.
sceneScene.
schedRender process scheduler.
Return values
trueSucceeded to configure.
falseFailed to configure.

Implemented in PSSMLTRenderer, BidirectionalPathtraceRenderer, BPTOptimizedPSSMLTRenderer, PhotonMappingRenderer, DirectPathtraceRenderer, LighttraceRenderer, SimpleBidirectionalPathtraceRenderer, MISPathtraceRenderer, PathtraceRenderer, and RaycastRenderer.

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

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

Parameters
funcSlot function.

Implemented in PSSMLTRenderer, BidirectionalPathtraceRenderer, PhotonMappingRenderer, DirectPathtraceRenderer, LighttraceRenderer, MISPathtraceRenderer, PathtraceRenderer, and RaycastRenderer.

virtual RenderProcess* Renderer::CreateRenderProcess ( const Scene scene,
int  threadID,
int  numThreads 
)
pure virtual

Create a render process. Creates a new instance of the render process associated with the renderer. This function called from the render process scheduler. Ownership of the created instance is delegated to the caller.

Parameters
sceneScene.
threadIDThread ID of the process.
numThreadsNumber of threads.
Returns
An instance of render process.

Implemented in PSSMLTRenderer, BidirectionalPathtraceRenderer, BPTOptimizedPSSMLTRenderer, PhotonMappingRenderer, DirectPathtraceRenderer, LighttraceRenderer, SimpleBidirectionalPathtraceRenderer, MISPathtraceRenderer, PathtraceRenderer, and RaycastRenderer.

virtual bool Renderer::Postprocess ( const Scene scene,
const RenderProcessScheduler sched 
) const
pure virtual

Postprocess the renderer. This function is called after render process are completed.

Parameters
sceneScene.
schedRender process scheduler.
Return values
trueSucceeded to postprocess.
falseFailed to postprocess.

Implemented in PSSMLTRenderer, BidirectionalPathtraceRenderer, BPTOptimizedPSSMLTRenderer, PhotonMappingRenderer, DirectPathtraceRenderer, LighttraceRenderer, SimpleBidirectionalPathtraceRenderer, MISPathtraceRenderer, PathtraceRenderer, and RaycastRenderer.

virtual bool Renderer::Preprocess ( const Scene scene,
const RenderProcessScheduler sched 
)
pure virtual

Preprocess the renderer. Preprocess required by some renderers are dispatched in this function.

Parameters
sceneScene.
schedRender process scheduler.
Return values
trueSucceeded to preprocess.
falseFailed to preprocess.

Implemented in PSSMLTRenderer, BidirectionalPathtraceRenderer, BPTOptimizedPSSMLTRenderer, PhotonMappingRenderer, DirectPathtraceRenderer, LighttraceRenderer, SimpleBidirectionalPathtraceRenderer, MISPathtraceRenderer, PathtraceRenderer, and RaycastRenderer.

virtual std::string Renderer::Type ( ) const
pure virtual

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