The spica renderer
Public Member Functions | List of all members
spica::Film Class Referenceabstract
Inheritance diagram for spica::Film:
spica::CObject spica::Uncopyable spica::HDRFilm spica::LDRFilm

Public Member Functions

 Film (const Point2i &resolution, const std::shared_ptr< Filter > &filter, const std::string &filename, const std::shared_ptr< std::function< void(const Image &)>> &callback=nullptr)
 
Point2i resolution () const
 
double aspect () const
 
void save (int id=0) const
 Save the result by dividing sum(w * I) by sum(w). More...
 
void saveMLT (double scale, int id=0) const
 Save the result by computing, (sum(w * I) * ns / (sum(w)), where ns is number of samples generated for a pixel. More...
 
void setImage (const Image &image)
 
void addPixel (const Point2i &pixel, const Point2d &pInPixel, const Spectrum &color)
 
void addPixel (const Point2d &pixel, const Spectrum &color)
 
void setFilename (const std::string filename)
 
void setSaveCallback (std::unique_ptr< std::function< void(const Image &)>> &&callback)
 
double weight (const Point2d &pixel) const
 
virtual void saveImage (const std::string &filename, const Image &image) const =0
 

Member Function Documentation

void spica::Film::save ( int  id = 0) const

Save the result by dividing sum(w * I) by sum(w).

This method is typically used for SamplerIntegrator, which take the same number of samples for each pixel.

Parameters
[in]idThe ID used for naming the image file.
void spica::Film::saveMLT ( double  scale,
int  id = 0 
) const

Save the result by computing, (sum(w * I) * ns / (sum(w)), where ns is number of samples generated for a pixel.

This method is typically used for MLT-like algorithms, which take different number of samples for each pixel.

Parameters
[in]scaleThe parameter to scale pixel values.

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