Fermat
Public Methods | List of all members
RendererInterface Struct Reference

Detailed description

The abstract renderer / solver interface

#include <renderer_interface.h>

Inheritance diagram for RendererInterface:
BPT CMLT HelloPT MLT PathTracer PSFPT PSSMLT RPT

Public Methods

virtual uint32 auxiliary_channel_count ()
 
virtual void register_auxiliary_channels (FBufferStorage &fbuffer, const uint32 channel_offset)
 
virtual void init (int argc, char **argv, RenderingContext &renderer)
 
virtual void update_scene (RenderingContext &renderer)
 
virtual void render (const uint32 instance, RenderingContext &renderer)
 
virtual void keyboard (unsigned char character, int x, int y, bool &invalidate)
 
virtual void destroy ()
 
virtual void mouse (RenderingContext &renderer, int button, int state, int x, int y)
 
virtual void draw (RenderingContext &renderer)
 
virtual void dump_speed_stats (FILE *stats)
 

Member Function Documentation

◆ auxiliary_channel_count()

virtual uint32 RendererInterface::auxiliary_channel_count ( )
inlinevirtual

this method is responsible for returning the number of auxiliary framebuffer channels needed by the renderer

◆ destroy()

virtual void RendererInterface::destroy ( )
inlinevirtual

this method is responsible for destroying the object itself

Reimplemented in PSFPT, PathTracer, RPT, MLT, CMLT, PSSMLT, BPT, and HelloPT.

◆ draw()

virtual void RendererInterface::draw ( RenderingContext renderer)
inlinevirtual

this method is responsible for any additional UI/OpenGL drawing on screen

◆ dump_speed_stats()

virtual void RendererInterface::dump_speed_stats ( FILE *  stats)
inlinevirtual

dump some speed stats

Reimplemented in PathTracer.

◆ init()

virtual void RendererInterface::init ( int  argc,
char **  argv,
RenderingContext renderer 
)
inlinevirtual

this method is responsible for any command options parsing / initializations the renderer might need to perform

Reimplemented in PSFPT, PathTracer, RPT, MLT, CMLT, PSSMLT, BPT, and HelloPT.

◆ keyboard()

virtual void RendererInterface::keyboard ( unsigned char  character,
int  x,
int  y,
bool &  invalidate 
)
inlinevirtual

this method is responsible for handling keyboard events

Reimplemented in PSFPT, and PathTracer.

◆ mouse()

virtual void RendererInterface::mouse ( RenderingContext renderer,
int  button,
int  state,
int  x,
int  y 
)
inlinevirtual

this method is responsible for handling mouse events

◆ register_auxiliary_channels()

virtual void RendererInterface::register_auxiliary_channels ( FBufferStorage fbuffer,
const uint32  channel_offset 
)
inlinevirtual

this method is responsible for registering the auxiliary framebuffer channels needed by the renderer, starting at the specified offset

◆ render()

virtual void RendererInterface::render ( const uint32  instance,
RenderingContext renderer 
)
inlinevirtual

this method is responsible for rendering a given frame in a progressive rendering

Parameters
instancethe frame instance

Reimplemented in PSFPT, PathTracer, RPT, MLT, CMLT, PSSMLT, BPT, and HelloPT.

◆ update_scene()

virtual void RendererInterface::update_scene ( RenderingContext renderer)
inlinevirtual

flag a scene geometry update


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