#include <film.h>
Public Member Functions | |
Film (int xres, int yres, int haltspp) | |
virtual | ~Film () |
virtual void | AddSample (float sX, float sY, const XYZColor &L, float alpha, int buffer=0, int bufferGroup=0)=0 |
virtual void | AddSampleCount (float count, int bufferGroup=0) |
virtual void | WriteImage (ImageType type)=0 |
virtual void | GetSampleExtent (int *xstart, int *xend, int *ystart, int *yend) const =0 |
virtual int | RequestBuffer (BufferType type, BufferOutputConfig output, const string &filePostfix) |
virtual void | CreateBuffers () |
virtual unsigned char * | getFrameBuffer ()=0 |
virtual void | updateFrameBuffer ()=0 |
virtual float | getldrDisplayInterval ()=0 |
void | SetScene (Scene *scene1) |
Public Attributes | |
int | xResolution |
int | yResolution |
float * | flux2radiance |
int | haltSamplePerPixel |
bool | enoughSamplePerPixel |
Protected Attributes | |
Scene * | scene |
float | invSamplePerPass |
Definition at line 91 of file film.h.
lux::Film::Film | ( | int | xres, | |
int | yres, | |||
int | haltspp | |||
) | [inline] |
Definition at line 95 of file film.h.
References invSamplePerPass, xResolution, and yResolution.
virtual void lux::Film::AddSample | ( | float | sX, | |
float | sY, | |||
const XYZColor & | L, | |||
float | alpha, | |||
int | buffer = 0 , |
|||
int | bufferGroup = 0 | |||
) | [pure virtual] |
Implemented in lux::FlexImageFilm.
Referenced by lux::Sampler::AddSample(), lux::MetropolisSampler::AddSample(), lux::Metropolis::AddSample(), and lux::ERPTSampler::AddSample().
virtual void lux::Film::AddSampleCount | ( | float | count, | |
int | bufferGroup = 0 | |||
) | [inline, virtual] |
Reimplemented in lux::FlexImageFilm.
Definition at line 104 of file film.h.
Referenced by lux::Sampler::AddSample(), lux::MetropolisSampler::AddSample(), and lux::ERPTSampler::AddSample().
virtual void lux::Film::CreateBuffers | ( | ) | [inline, virtual] |
Reimplemented in lux::FlexImageFilm.
Definition at line 112 of file film.h.
Referenced by lux::ParticleTracingIntegrator::Preprocess().
virtual unsigned char* lux::Film::getFrameBuffer | ( | ) | [pure virtual] |
Implemented in lux::FlexImageFilm, and lux::ImageFilm.
Referenced by lux::Scene::GetFramebuffer().
virtual float lux::Film::getldrDisplayInterval | ( | ) | [pure virtual] |
Implemented in lux::FlexImageFilm, and lux::ImageFilm.
Referenced by lux::Scene::DisplayInterval().
virtual void lux::Film::GetSampleExtent | ( | int * | xstart, | |
int * | xend, | |||
int * | ystart, | |||
int * | yend | |||
) | const [pure virtual] |
Implemented in lux::FlexImageFilm, and lux::ImageFilm.
Referenced by lux::PerspectiveCamera::AutoFocus(), lux::OrthoCamera::AutoFocus(), lux::RandomSampler::CreateSampler(), lux::MetropolisSampler::CreateSampler(), lux::LDSampler::CreateSampler(), lux::HaltonSampler::CreateSampler(), lux::ERPTSampler::CreateSampler(), and lux::Scene::Statistics_SamplesPPx().
virtual int lux::Film::RequestBuffer | ( | BufferType | type, | |
BufferOutputConfig | output, | |||
const string & | filePostfix | |||
) | [inline, virtual] |
Reimplemented in lux::FlexImageFilm.
Definition at line 108 of file film.h.
Referenced by lux::ParticleTracingIntegrator::Preprocess().
void lux::Film::SetScene | ( | Scene * | scene1 | ) | [inline] |
virtual void lux::Film::updateFrameBuffer | ( | ) | [pure virtual] |
Implemented in lux::FlexImageFilm, and lux::ImageFilm.
Referenced by lux::Scene::UpdateFramebuffer().
virtual void lux::Film::WriteImage | ( | ImageType | type | ) | [pure virtual] |
Implemented in lux::FlexImageFilm.
Referenced by lux::Scene::Render().
Definition at line 129 of file film.h.
Referenced by lux::FlexImageFilm::AddSampleCount(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), and lux::ERPTSampler::GetNextSample().
float* lux::Film::flux2radiance |
Definition at line 128 of file film.h.
Referenced by lux::FlexImageFilm::AddSampleCount(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), and lux::ERPTSampler::GetNextSample().
float lux::Film::invSamplePerPass [protected] |
Definition at line 135 of file film.h.
Referenced by lux::FlexImageFilm::AddSampleCount(), and Film().
Scene* lux::Film::scene [protected] |
Definition at line 132 of file film.h.
Referenced by SetScene(), and lux::FlexImageFilm::WriteImage().
Definition at line 123 of file film.h.
Referenced by lux::RealisticCamera::CreateCamera(), lux::PerspectiveCamera::CreateCamera(), lux::OrthoCamera::CreateCamera(), lux::EnvironmentCamera::CreateCamera(), Film(), lux::Scene::FilmXres(), lux::FlexImageFilm::FlexImageFilm(), lux::EnvironmentCamera::GenerateRay(), lux::EnvironmentCamera::GenerateSample(), lux::ProjectiveCamera::GenerateSample(), lux::OrthoCamera::GetFlux2RadianceFactors(), lux::EnvironmentCamera::GetFlux2RadianceFactors(), lux::ImageFilm::ImageFilm(), lux::ProjectiveCamera::ProjectiveCamera(), lux::RealisticCamera::RealisticCamera(), lux::FlexImageFilm::WriteEXRImage(), lux::FlexImageFilm::WriteIGIImage(), lux::ImageFilm::WriteImage(), lux::FlexImageFilm::WriteImage2(), and lux::FlexImageFilm::WriteTGAImage().
Definition at line 123 of file film.h.
Referenced by lux::RealisticCamera::CreateCamera(), lux::PerspectiveCamera::CreateCamera(), lux::OrthoCamera::CreateCamera(), lux::EnvironmentCamera::CreateCamera(), Film(), lux::Scene::FilmYres(), lux::FlexImageFilm::FlexImageFilm(), lux::EnvironmentCamera::GenerateRay(), lux::EnvironmentCamera::GenerateSample(), lux::ProjectiveCamera::GenerateSample(), lux::OrthoCamera::GetFlux2RadianceFactors(), lux::EnvironmentCamera::GetFlux2RadianceFactors(), lux::ImageFilm::ImageFilm(), lux::ProjectiveCamera::ProjectiveCamera(), lux::RealisticCamera::RealisticCamera(), lux::FlexImageFilm::WriteEXRImage(), lux::FlexImageFilm::WriteIGIImage(), lux::ImageFilm::WriteImage(), lux::FlexImageFilm::WriteImage2(), and lux::FlexImageFilm::WriteTGAImage().