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

Public Member Functions

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

Friends

class LighttraceRenderer_RenderProcess
 

Detailed Description

Light trace renderer. An implementation of light tracing (a.k.a. inverse path tracing, particle tracing). Reference: J. Arvo and D. Kirk, Particle transport and image synthesis, Computer Graphics (Procs. of SIGGRAPH 90), 24, 4, pp.63-66, 1990.

Inheritance diagram for LighttraceRenderer:
Renderer Component SIMDAlignedType

Member Function Documentation

bool LighttraceRenderer::Configure ( const ConfigNode node,
const Assets assets,
const Scene scene,
const RenderProcessScheduler sched 
)
overridevirtual

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.

Implements Renderer.

virtual boost::signals2::connection LighttraceRenderer::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 Renderer.

RenderProcess * LighttraceRenderer::CreateRenderProcess ( const Scene scene,
int  threadID,
int  numThreads 
)
overridevirtual

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.

Implements Renderer.

virtual bool LighttraceRenderer::Postprocess ( const Scene scene,
const RenderProcessScheduler sched 
) const
inlineoverridevirtual

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.

Implements Renderer.

virtual bool LighttraceRenderer::Preprocess ( const Scene scene,
const RenderProcessScheduler sched 
)
inlineoverridevirtual

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.

Implements Renderer.

virtual std::string LighttraceRenderer::Type ( ) const
inlineoverridevirtual

Get renderer type.

Returns
Renderer type.

Implements Renderer.


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