#include <image.h>
Classes | |
struct | Pixel |
Public Member Functions | |
ImageFilm (int xres, int yres, Filter *filt, const float crop[4], const string &filename, bool premult, int wf, int wfs) | |
~ImageFilm () | |
void | AddSample (float sX, float sY, const Spectrum &L, float alpha) |
void | GetSampleExtent (int *xstart, int *xend, int *ystart, int *yend) const |
void | WriteImage () |
void | WriteImage (int oType) |
unsigned char * | getFrameBuffer () |
void | updateFrameBuffer () |
float | getldrDisplayInterval () |
Static Public Member Functions | |
static Film * | CreateFilm (const ParamSet ¶ms, Filter *filter) |
Private Attributes | |
Filter * | filter |
int | writeFrequency |
int | writeFrequencySeconds |
int | sampleCount |
string | filename |
bool | premultiplyAlpha |
float | cropWindow [4] |
int | xPixelStart |
int | yPixelStart |
int | xPixelCount |
int | yPixelCount |
BlockedArray< Pixel > * | pixels |
float * | filterTable |
boost::timer | Timer |
Definition at line 36 of file image.h.
ImageFilm::ImageFilm | ( | int | xres, | |
int | yres, | |||
Filter * | filt, | |||
const float | crop[4], | |||
const string & | filename, | |||
bool | premult, | |||
int | wf, | |||
int | wfs | |||
) |
Definition at line 30 of file image.cpp.
References Ceil2Int(), cropWindow, lux::Filter::Evaluate(), filename, filter, FILTER_TABLE_SIZE, filterTable, cimg_library::cimg::max(), memcpy(), pixels, premultiplyAlpha, sampleCount, writeFrequency, writeFrequencySeconds, xPixelCount, xPixelStart, lux::Film::xResolution, lux::Filter::xWidth, yPixelCount, yPixelStart, lux::Film::yResolution, and lux::Filter::yWidth.
Referenced by CreateFilm().
lux::ImageFilm::~ImageFilm | ( | ) | [inline] |
void ImageFilm::AddSample | ( | float | sX, | |
float | sY, | |||
const Spectrum & | L, | |||
float | alpha | |||
) |
Definition at line 65 of file image.cpp.
References lux::Spectrum::AddWeighted(), lux::ImageFilm::Pixel::alpha, Ceil2Int(), filter, FILTER_TABLE_SIZE, filterTable, Floor2Int(), lux::Filter::invXWidth, lux::Filter::invYWidth, lux::Spectrum::IsNaN(), lux::ImageFilm::Pixel::L, cimg_library::cimg::max(), cimg_library::cimg::min(), sampleCount, lux::ImageFilm::Pixel::weightSum, writeFrequency, writeFrequencySeconds, WriteImage(), xPixelCount, xPixelStart, lux::Filter::xWidth, lux::Spectrum::y(), yPixelCount, yPixelStart, and lux::Filter::yWidth.
Definition at line 211 of file image.cpp.
References Clamp(), cimg_library::crop(), filename, lux::ParamSet::FindFloat(), lux::ParamSet::FindOneBool(), lux::ParamSet::FindOneInt(), lux::ParamSet::FindOneString(), ImageFilm(), cimg_library::cimg::max(), cimg_library::cimg::min(), premultiplyAlpha, writeFrequency, and writeFrequencySeconds.
unsigned char* lux::ImageFilm::getFrameBuffer | ( | ) | [inline, virtual] |
float lux::ImageFilm::getldrDisplayInterval | ( | ) | [inline, virtual] |
void ImageFilm::GetSampleExtent | ( | int * | xstart, | |
int * | xend, | |||
int * | ystart, | |||
int * | yend | |||
) | const [virtual] |
Implements lux::Film.
Definition at line 142 of file image.cpp.
References filter, Floor2Int(), xPixelCount, xPixelStart, lux::Filter::xWidth, yPixelCount, yPixelStart, and lux::Filter::yWidth.
void lux::ImageFilm::updateFrameBuffer | ( | ) | [inline, virtual] |
void ImageFilm::WriteImage | ( | ) |
Definition at line 151 of file image.cpp.
References Clamp(), filename, INFINITY, LUX_INFO, LUX_NOERROR, luxError, premultiplyAlpha, lux::WriteRGBAImage(), xPixelCount, xPixelStart, lux::Film::xResolution, yPixelCount, yPixelStart, and lux::Film::yResolution.
Referenced by AddSample().
float lux::ImageFilm::cropWindow[4] [private] |
string lux::ImageFilm::filename [private] |
Filter* lux::ImageFilm::filter [private] |
Definition at line 62 of file image.h.
Referenced by AddSample(), GetSampleExtent(), ImageFilm(), and ~ImageFilm().
float* lux::ImageFilm::filterTable [private] |
BlockedArray<Pixel>* lux::ImageFilm::pixels [private] |
bool lux::ImageFilm::premultiplyAlpha [private] |
int lux::ImageFilm::sampleCount [private] |
boost::timer lux::ImageFilm::Timer [private] |
int lux::ImageFilm::writeFrequency [private] |
int lux::ImageFilm::writeFrequencySeconds [private] |
int lux::ImageFilm::xPixelCount [private] |
Definition at line 67 of file image.h.
Referenced by AddSample(), GetSampleExtent(), ImageFilm(), and WriteImage().
int lux::ImageFilm::xPixelStart [private] |
Definition at line 67 of file image.h.
Referenced by AddSample(), GetSampleExtent(), ImageFilm(), and WriteImage().
int lux::ImageFilm::yPixelCount [private] |
Definition at line 67 of file image.h.
Referenced by AddSample(), GetSampleExtent(), ImageFilm(), and WriteImage().
int lux::ImageFilm::yPixelStart [private] |
Definition at line 67 of file image.h.
Referenced by AddSample(), GetSampleExtent(), ImageFilm(), and WriteImage().