lux::FlexImageFilm Class Reference

#include <fleximage.h>

Inheritance diagram for lux::FlexImageFilm:

lux::Film

List of all members.

Public Member Functions

 FlexImageFilm (int xres, int yres)
 FlexImageFilm (int xres, int yres, Filter *filt, const float crop[4], const string &filename1, bool premult, int wI, int dI, bool w_tonemapped_EXR, bool w_untonemapped_EXR, bool w_tonemapped_IGI, bool w_untonemapped_IGI, bool w_tonemapped_TGA, bool w_resume_FLM, bool restart_resume_FLM, int haltspp, float reinhard_prescale, float reinhard_postscale, float reinhard_burn, float g, int reject_warmup, bool debugmode)
 ~FlexImageFilm ()
int RequestBuffer (BufferType type, BufferOutputConfig output, const string &filePostfix)
void CreateBuffers ()
void GetSampleExtent (int *xstart, int *xend, int *ystart, int *yend) const
void AddSample (float sX, float sY, const XYZColor &L, float alpha, int buf_id=0, int bufferGroup=0)
void AddSampleCount (float count, int bufferGroup=0)
void WriteImage (ImageType type)
void updateFrameBuffer ()
unsigned char * getFrameBuffer ()
void createFrameBuffer ()
float getldrDisplayInterval ()
void TransmitFilm (std::basic_ostream< char > &stream, int buf_id=0, int bufferGroup=0, bool clearBuffer=true)
void UpdateFilm (Scene *scene, std::basic_istream< char > &stream, int buf_id=0, int bufferGroup=0)

Static Public Member Functions

static FilmCreateFilm (const ParamSet &params, Filter *filter)

Private Member Functions

void FlushSampleArray ()
void MergeSampleArray ()
void WriteImage2 (ImageType type, float *rgb, float *alpha, string postfix)
void WriteTGAImage (float *rgb, float *alpha, const string &filename)
void WriteEXRImage (float *rgb, float *alpha, const string &filename)
void WriteIGIImage (float *rgb, float *alpha, const string &filename)
void WriteResumeFilm (const string &filename)
void ScaleOutput (float *rgb, float *alpha, float *scale)

Private Attributes

Filterfilter
int writeInterval
int displayInterval
string filename
bool premultiplyAlpha
bool buffersInited
float cropWindow [4]
float * filterTable
int xPixelStart
int yPixelStart
int xPixelCount
int yPixelCount
ParamSet toneParams
float gamma
float reject_warmup_samples
bool writeTmExr
bool writeUtmExr
bool writeTmIgi
bool writeUtmIgi
bool writeTmTga
bool writeResumeFlm
bool restartResumeFlm
unsigned char * framebuffer
boost::xtime lastWriteImageTime
bool debug_mode
float * factor
std::vector< BufferConfigbufferConfigs
std::vector< BufferGroupbufferGroups
boost::recursive_mutex addSampleMutex
float maxY
u_int warmupSamples
bool warmupComplete
ArrSampleSampleArrptr
ArrSampleSampleArr2ptr
boost::recursive_mutex arrSampleMutex
int curSampleArrId
int curSampleArr2Id
int maxSampleArrId
boost::recursive_mutex imageMutex


Detailed Description

Definition at line 211 of file fleximage.h.


Constructor & Destructor Documentation

lux::FlexImageFilm::FlexImageFilm ( int  xres,
int  yres 
) [inline]

Definition at line 214 of file fleximage.h.

Referenced by CreateFilm().

FlexImageFilm::FlexImageFilm ( int  xres,
int  yres,
Filter filt,
const float  crop[4],
const string &  filename1,
bool  premult,
int  wI,
int  dI,
bool  w_tonemapped_EXR,
bool  w_untonemapped_EXR,
bool  w_tonemapped_IGI,
bool  w_untonemapped_IGI,
bool  w_tonemapped_TGA,
bool  w_resume_FLM,
bool  restart_resume_FLM,
int  haltspp,
float  reinhard_prescale,
float  reinhard_postscale,
float  reinhard_burn,
float  g,
int  reject_warmup,
bool  debugmode 
)

lux::FlexImageFilm::~FlexImageFilm (  )  [inline]

Definition at line 224 of file fleximage.h.

References factor, and framebuffer.


Member Function Documentation

void FlexImageFilm::AddSample ( float  sX,
float  sY,
const XYZColor L,
float  alpha,
int  buf_id = 0,
int  bufferGroup = 0 
) [virtual]

void lux::FlexImageFilm::AddSampleCount ( float  count,
int  bufferGroup = 0 
) [inline, virtual]

void FlexImageFilm::CreateBuffers (  )  [virtual]

Film * FlexImageFilm::CreateFilm ( const ParamSet params,
Filter filter 
) [static]

void FlexImageFilm::createFrameBuffer (  ) 

Definition at line 469 of file fleximage.cpp.

References framebuffer, xPixelCount, and yPixelCount.

Referenced by getFrameBuffer(), and updateFrameBuffer().

void FlexImageFilm::FlushSampleArray (  )  [private]

unsigned char * FlexImageFilm::getFrameBuffer (  )  [virtual]

Implements lux::Film.

Definition at line 487 of file fleximage.cpp.

References createFrameBuffer(), and framebuffer.

float lux::FlexImageFilm::getldrDisplayInterval (  )  [inline, virtual]

Implements lux::Film.

Definition at line 252 of file fleximage.h.

References displayInterval.

void FlexImageFilm::GetSampleExtent ( int *  xstart,
int *  xend,
int *  ystart,
int *  yend 
) const [virtual]

void FlexImageFilm::MergeSampleArray (  )  [private]

int FlexImageFilm::RequestBuffer ( BufferType  type,
BufferOutputConfig  output,
const string &  filePostfix 
) [virtual]

Reimplemented from lux::Film.

Definition at line 127 of file fleximage.cpp.

References bufferConfigs.

Referenced by AddSample(), and FlushSampleArray().

void FlexImageFilm::ScaleOutput ( float *  rgb,
float *  alpha,
float *  scale 
) [private]

Definition at line 395 of file fleximage.cpp.

References xPixelCount, and yPixelCount.

Referenced by WriteImage().

void FlexImageFilm::TransmitFilm ( std::basic_ostream< char > &  stream,
int  buf_id = 0,
int  bufferGroup = 0,
bool  clearBuffer = true 
)

void FlexImageFilm::UpdateFilm ( Scene scene,
std::basic_istream< char > &  stream,
int  buf_id = 0,
int  bufferGroup = 0 
)

void FlexImageFilm::updateFrameBuffer (  )  [virtual]

Implements lux::Film.

Definition at line 479 of file fleximage.cpp.

References createFrameBuffer(), framebuffer, lux::IMAGE_FRAMEBUFFER, and WriteImage().

void FlexImageFilm::WriteEXRImage ( float *  rgb,
float *  alpha,
const string &  filename 
) [private]

void FlexImageFilm::WriteIGIImage ( float *  rgb,
float *  alpha,
const string &  filename 
) [private]

void FlexImageFilm::WriteImage ( ImageType  type  )  [virtual]

void FlexImageFilm::WriteImage2 ( ImageType  type,
float *  rgb,
float *  alpha,
string  postfix 
) [private]

void FlexImageFilm::WriteResumeFilm ( const string &  filename  )  [private]

Definition at line 495 of file fleximage.cpp.

References LUX_INFO, LUX_NOERROR, LUX_SEVERE, LUX_SYSTEM, luxError, and TransmitFilm().

Referenced by WriteImage2().

void FlexImageFilm::WriteTGAImage ( float *  rgb,
float *  alpha,
const string &  filename 
) [private]


Member Data Documentation

boost::recursive_mutex lux::FlexImageFilm::addSampleMutex [mutable, private]

Definition at line 300 of file fleximage.h.

Referenced by AddSample(), FlushSampleArray(), TransmitFilm(), and UpdateFilm().

boost::recursive_mutex lux::FlexImageFilm::arrSampleMutex [mutable, private]

Definition at line 310 of file fleximage.h.

Referenced by AddSample(), and FlushSampleArray().

Definition at line 297 of file fleximage.h.

Referenced by CreateBuffers(), RequestBuffer(), and WriteImage().

Definition at line 281 of file fleximage.h.

float lux::FlexImageFilm::cropWindow[4] [private]

Definition at line 282 of file fleximage.h.

Referenced by FlexImageFilm().

Definition at line 311 of file fleximage.h.

Referenced by AddSample(), FlexImageFilm(), FlushSampleArray(), and MergeSampleArray().

Definition at line 311 of file fleximage.h.

Referenced by AddSample(), FlexImageFilm(), and FlushSampleArray().

Definition at line 294 of file fleximage.h.

Referenced by CreateFilm(), and MergeSampleArray().

Definition at line 279 of file fleximage.h.

Referenced by CreateFilm(), and getldrDisplayInterval().

float* lux::FlexImageFilm::factor [private]

Definition at line 295 of file fleximage.h.

Referenced by WriteImage(), and ~FlexImageFilm().

string lux::FlexImageFilm::filename [private]

Definition at line 280 of file fleximage.h.

Referenced by CreateBuffers(), CreateFilm(), and WriteImage2().

Definition at line 277 of file fleximage.h.

Referenced by FlexImageFilm(), GetSampleExtent(), and MergeSampleArray().

Definition at line 282 of file fleximage.h.

Referenced by FlexImageFilm(), and MergeSampleArray().

unsigned char* lux::FlexImageFilm::framebuffer [private]

float lux::FlexImageFilm::gamma [private]

Definition at line 285 of file fleximage.h.

Referenced by CreateFilm(), and WriteImage2().

boost::recursive_mutex lux::FlexImageFilm::imageMutex [mutable, private]

Definition at line 314 of file fleximage.h.

Referenced by WriteImage().

Definition at line 292 of file fleximage.h.

Referenced by AddSample(), and FlexImageFilm().

Definition at line 311 of file fleximage.h.

Referenced by AddSample(), and FlexImageFilm().

float lux::FlexImageFilm::maxY [private]

Definition at line 302 of file fleximage.h.

Referenced by FlexImageFilm(), and MergeSampleArray().

Definition at line 281 of file fleximage.h.

Referenced by CreateFilm().

Definition at line 286 of file fleximage.h.

Referenced by FlexImageFilm(), and MergeSampleArray().

Definition at line 287 of file fleximage.h.

Referenced by CreateBuffers().

Definition at line 306 of file fleximage.h.

Referenced by AddSample(), FlexImageFilm(), FlushSampleArray(), and MergeSampleArray().

Definition at line 305 of file fleximage.h.

Referenced by AddSample(), FlexImageFilm(), and FlushSampleArray().

Definition at line 284 of file fleximage.h.

Referenced by FlexImageFilm(), and WriteImage2().

Definition at line 304 of file fleximage.h.

Referenced by FlexImageFilm(), and MergeSampleArray().

Definition at line 303 of file fleximage.h.

Referenced by FlexImageFilm(), and MergeSampleArray().

Definition at line 278 of file fleximage.h.

Referenced by AddSample(), and CreateFilm().

Definition at line 287 of file fleximage.h.

Referenced by CreateBuffers(), and WriteImage2().

Definition at line 287 of file fleximage.h.

Referenced by WriteImage2().

Definition at line 287 of file fleximage.h.

Referenced by WriteImage2().

Definition at line 287 of file fleximage.h.

Referenced by WriteImage2().

Definition at line 287 of file fleximage.h.

Referenced by WriteImage2().

Definition at line 287 of file fleximage.h.

Referenced by WriteImage2().


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

Generated on Tue Nov 10 01:36:41 2009 for lux by  doxygen 1.5.9