lux::MetropolisSampler Class Reference

#include <metrosampler.h>

Inheritance diagram for lux::MetropolisSampler:
[legend]
Collaboration diagram for lux::MetropolisSampler:
[legend]

List of all members.

Public Member Functions

 MetropolisSampler (int xStart, int xEnd, int yStart, int yEnd, int maxRej, float largeProb, float microProb, float rng, bool useV)
virtual ~MetropolisSampler ()
virtual MetropolisSamplerclone () const
virtual u_int GetTotalSamplePos ()
virtual int RoundSize (int size) const
virtual bool GetNextSample (Sample *sample, u_int *use_pos)
virtual float * GetLazyValues (Sample *sample, u_int num, u_int pos)
virtual void AddSample (const Sample &sample)
virtual void GetBufferType (BufferType *t)
virtual bool IsMutating ()

Static Public Member Functions

static SamplerCreateSampler (const ParamSet &params, const Film *film)

Public Attributes

int normalSamples
int totalSamples
int totalTimes
int maxRejects
int consecRejects
float pLarge
float pMicro
float range
bool useVariance
float * sampleImage
inttimeImage
intoffset
float * rngSamples
float * rngRotation
u_int rngBase
u_int rngOffset
bool large
int stamp
int numMicro
int posMicro
float weight
float LY
float alpha
vector< ContributionoldContributions
double totalLY
double sampleCount

Detailed Description

Definition at line 35 of file metrosampler.h.


Constructor & Destructor Documentation

MetropolisSampler::MetropolisSampler ( int  xStart,
int  xEnd,
int  yStart,
int  yEnd,
int  maxRej,
float  largeProb,
float  microProb,
float  rng,
bool  useV 
)

Definition at line 71 of file metrosampler.cpp.

References rngA, rngN, and rngSamples.

Referenced by clone(), and CreateSampler().

MetropolisSampler::~MetropolisSampler (  )  [virtual]

Definition at line 92 of file metrosampler.cpp.

References lux::FreeAligned(), offset, rngRotation, rngSamples, sampleImage, and timeImage.


Member Function Documentation

void MetropolisSampler::AddSample ( const Sample sample  )  [virtual]
MetropolisSampler * MetropolisSampler::clone (  )  const [virtual]

Implements lux::Sampler.

Definition at line 101 of file metrosampler.cpp.

References MetropolisSampler(), sampleImage, and totalSamples.

Sampler * MetropolisSampler::CreateSampler ( const ParamSet params,
const Film film 
) [static]
virtual void lux::MetropolisSampler::GetBufferType ( BufferType t  )  [inline, virtual]

Reimplemented from lux::Sampler.

Definition at line 48 of file metrosampler.h.

References lux::BUF_TYPE_PER_SCREEN.

float * MetropolisSampler::GetLazyValues ( Sample sample,
u_int  num,
u_int  pos 
) [virtual]
bool MetropolisSampler::GetNextSample ( Sample sample,
u_int use_pos 
) [virtual]
virtual u_int lux::MetropolisSampler::GetTotalSamplePos (  )  [inline, virtual]

Implements lux::Sampler.

Definition at line 42 of file metrosampler.h.

virtual bool lux::MetropolisSampler::IsMutating (  )  [inline, virtual]

Reimplemented from lux::Sampler.

Definition at line 49 of file metrosampler.h.

virtual int lux::MetropolisSampler::RoundSize ( int  size  )  const [inline, virtual]

Implements lux::Sampler.

Definition at line 43 of file metrosampler.h.


Member Data Documentation

Definition at line 60 of file metrosampler.h.

Definition at line 51 of file metrosampler.h.

Referenced by AddSample().

Definition at line 58 of file metrosampler.h.

Referenced by AddSample(), and GetNextSample().

Definition at line 60 of file metrosampler.h.

Referenced by AddSample().

Definition at line 51 of file metrosampler.h.

Referenced by AddSample().

Definition at line 51 of file metrosampler.h.

Referenced by GetLazyValues(), GetNextSample(), and initMetropolis().

Definition at line 59 of file metrosampler.h.

Referenced by GetLazyValues(), and GetNextSample().

Definition at line 55 of file metrosampler.h.

Referenced by GetLazyValues(), initMetropolis(), and ~MetropolisSampler().

Definition at line 61 of file metrosampler.h.

Referenced by AddSample().

Definition at line 52 of file metrosampler.h.

Referenced by AddSample(), and GetNextSample().

Definition at line 52 of file metrosampler.h.

Referenced by GetNextSample().

Definition at line 59 of file metrosampler.h.

Referenced by GetLazyValues(), and GetNextSample().

Definition at line 52 of file metrosampler.h.

Referenced by CreateSampler(), and GetNextSample().

Definition at line 57 of file metrosampler.h.

Referenced by GetNextSample(), and initMetropolis().

Definition at line 57 of file metrosampler.h.

Referenced by GetLazyValues(), GetNextSample(), and initMetropolis().

Definition at line 56 of file metrosampler.h.

Referenced by GetNextSample(), initMetropolis(), and ~MetropolisSampler().

Definition at line 56 of file metrosampler.h.

Referenced by MetropolisSampler(), and ~MetropolisSampler().

Definition at line 62 of file metrosampler.h.

Referenced by AddSample().

Definition at line 59 of file metrosampler.h.

Referenced by AddSample().

Definition at line 55 of file metrosampler.h.

Referenced by AddSample(), initMetropolis(), and ~MetropolisSampler().

Definition at line 62 of file metrosampler.h.

Referenced by AddSample().

Definition at line 51 of file metrosampler.h.

Referenced by AddSample(), clone(), GetNextSample(), and initMetropolis().

Definition at line 51 of file metrosampler.h.

Referenced by AddSample(), GetNextSample(), and initMetropolis().

Definition at line 53 of file metrosampler.h.

Referenced by AddSample(), and CreateSampler().

Definition at line 60 of file metrosampler.h.

Referenced by AddSample().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208