#include <image.h>
Classes | |
struct | Pixel |
Public Member Functions | |
ImageFilm (int xres, int yres, Filter *filt, const float crop[4], const string &filename, bool openWindow) | |
~ImageFilm () | |
void | AddSample (const CameraSample &sample, const Spectrum &L) |
void | Splat (const CameraSample &sample, const Spectrum &L) |
void | GetSampleExtent (int *xstart, int *xend, int *ystart, int *yend) const |
void | GetPixelExtent (int *xstart, int *xend, int *ystart, int *yend) const |
void | WriteImage (float splatScale) |
void | UpdateDisplay (int x0, int y0, int x1, int y1, float splatScale) |
Private Attributes | |
Filter * | filter |
float | cropWindow [4] |
string | filename |
int | xPixelStart |
int | yPixelStart |
int | xPixelCount |
int | yPixelCount |
BlockedArray< Pixel > * | pixels |
float * | filterTable |
Definition at line 42 of file image.h.
ImageFilm::ImageFilm | ( | int | xres, | |
int | yres, | |||
Filter * | filt, | |||
const float | crop[4], | |||
const string & | filename, | |||
bool | openWindow | |||
) |
Definition at line 36 of file image.cpp.
References Ceil2Int(), cropWindow, Error(), Filter::Evaluate(), filename, filter, FILTER_TABLE_SIZE, filterTable, Options::openWindow, PbrtOptions, pixels, Warning(), xPixelCount, xPixelStart, Film::xResolution, Filter::xWidth, yPixelCount, yPixelStart, Film::yResolution, and Filter::yWidth.
ImageFilm::~ImageFilm | ( | ) | [inline] |
Definition at line 47 of file image.h.
References filter, filterTable, and pixels.
void ImageFilm::AddSample | ( | const CameraSample & | sample, | |
const Spectrum & | L | |||
) | [virtual] |
Implements Film.
Definition at line 96 of file image.cpp.
References ALLOCA, AtomicAdd(), Ceil2Int(), filter, FILTER_TABLE_SIZE, filterTable, Floor2Int(), CameraSample::imageX, CameraSample::imageY, Filter::invXWidth, Filter::invYWidth, ImageFilm::Pixel::Lxyz, RGBSpectrum::ToXYZ(), ImageFilm::Pixel::weightSum, xPixelCount, xPixelStart, Filter::xWidth, yPixelCount, yPixelStart, and Filter::yWidth.
void ImageFilm::GetPixelExtent | ( | int * | xstart, | |
int * | xend, | |||
int * | ystart, | |||
int * | yend | |||
) | const [virtual] |
Implements Film.
Definition at line 188 of file image.cpp.
References xPixelCount, xPixelStart, yPixelCount, and yPixelStart.
void ImageFilm::GetSampleExtent | ( | int * | xstart, | |
int * | xend, | |||
int * | ystart, | |||
int * | yend | |||
) | const [virtual] |
Implements Film.
Definition at line 176 of file image.cpp.
References filter, Floor2Int(), xPixelCount, xPixelStart, Filter::xWidth, yPixelCount, yPixelStart, and Filter::yWidth.
void ImageFilm::Splat | ( | const CameraSample & | sample, | |
const Spectrum & | L | |||
) | [virtual] |
Implements Film.
Definition at line 159 of file image.cpp.
References AtomicAdd(), Floor2Int(), CoefficientSpectrum< nSamples >::HasNaNs(), CameraSample::imageX, CameraSample::imageY, ImageFilm::Pixel::splatXYZ, RGBSpectrum::ToXYZ(), Warning(), xPixelCount, xPixelStart, yPixelCount, and yPixelStart.
void ImageFilm::UpdateDisplay | ( | int | x0, | |
int | y0, | |||
int | x1, | |||
int | y1, | |||
float | splatScale | |||
) | [virtual] |
Reimplemented from Film.
Definition at line 235 of file image.cpp.
References Clamp(), ImageFilm::Pixel::Lxyz, ImageFilm::Pixel::splatXYZ, ImageFilm::Pixel::weightSum, xPixelCount, xPixelStart, XYZToRGB(), yPixelCount, and yPixelStart.
void ImageFilm::WriteImage | ( | float | splatScale | ) | [virtual] |
Implements Film.
Definition at line 197 of file image.cpp.
References filename, pixels, xPixelCount, xPixelStart, Film::xResolution, XYZToRGB(), yPixelCount, yPixelStart, and Film::yResolution.
float ImageFilm::cropWindow[4] [private] |
Definition at line 61 of file image.h.
Referenced by ImageFilm().
string ImageFilm::filename [private] |
Definition at line 62 of file image.h.
Referenced by ImageFilm(), and WriteImage().
Filter* ImageFilm::filter [private] |
Definition at line 60 of file image.h.
Referenced by AddSample(), GetSampleExtent(), ImageFilm(), and ~ImageFilm().
float* ImageFilm::filterTable [private] |
Definition at line 78 of file image.h.
Referenced by AddSample(), ImageFilm(), and ~ImageFilm().
BlockedArray<Pixel>* ImageFilm::pixels [private] |
Definition at line 77 of file image.h.
Referenced by ImageFilm(), WriteImage(), and ~ImageFilm().
int ImageFilm::xPixelCount [private] |
Definition at line 66 of file image.h.
Referenced by AddSample(), GetPixelExtent(), GetSampleExtent(), ImageFilm(), Splat(), UpdateDisplay(), and WriteImage().
int ImageFilm::xPixelStart [private] |
Definition at line 66 of file image.h.
Referenced by AddSample(), GetPixelExtent(), GetSampleExtent(), ImageFilm(), Splat(), UpdateDisplay(), and WriteImage().
int ImageFilm::yPixelCount [private] |
Definition at line 66 of file image.h.
Referenced by AddSample(), GetPixelExtent(), GetSampleExtent(), ImageFilm(), Splat(), UpdateDisplay(), and WriteImage().
int ImageFilm::yPixelStart [private] |
Definition at line 66 of file image.h.
Referenced by AddSample(), GetPixelExtent(), GetSampleExtent(), ImageFilm(), Splat(), UpdateDisplay(), and WriteImage().