lux::MetropolisSampler Class Reference

#include <metrosampler.h>

Inheritance diagram for lux::MetropolisSampler:

lux::Sampler

List of all members.

Public Member Functions

 MetropolisSampler (int xStart, int xEnd, int yStart, int yEnd, int maxRej, float largeProb, float rng, int sw, bool useV)
 ~MetropolisSampler ()
virtual MetropolisSamplerclone () const
u_int GetTotalSamplePos ()
int RoundSize (int size) const
bool GetNextSample (Sample *sample, u_int *use_pos)
float * GetLazyValues (Sample *sample, u_int num, u_int pos)
void AddSample (float imageX, float imageY, const Sample &sample, const Ray &ray, const XYZColor &L, float alpha, int id=0)
void AddSample (const Sample &sample)
void GetBufferType (BufferType *t)

Static Public Member Functions

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

Public Attributes

bool large
float LY
float V
int normalSamples
int totalSamples
int totalTimes
int maxRejects
int consecRejects
int stamp
float pLarge
float range
float weight
float alpha
float * sampleImage
int * timeImage
int * offset
vector< Sample::ContributionoldContributions
float * strataSamples
int strataWidth
int strataSqr
int currentStrata
bool useVariance

Static Public Attributes

static int initCount
static int initSamples
static float meanIntensity


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  rng,
int  sw,
bool  useV 
)

Definition at line 70 of file metrosampler.cpp.

References lux::AllocAligned(), currentStrata, strataSamples, and strataSqr.

Referenced by clone(), and CreateSampler().

MetropolisSampler::~MetropolisSampler (  ) 

Definition at line 83 of file metrosampler.cpp.

References lux::FreeAligned(), sampleImage, and strataSamples.


Member Function Documentation

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

void MetropolisSampler::AddSample ( float  imageX,
float  imageY,
const Sample sample,
const Ray ray,
const XYZColor L,
float  alpha,
int  id = 0 
)

MetropolisSampler * MetropolisSampler::clone (  )  const [virtual]

Implements lux::Sampler.

Definition at line 89 of file metrosampler.cpp.

References MetropolisSampler(), sampleImage, and totalSamples.

Sampler * MetropolisSampler::CreateSampler ( const ParamSet params,
const Film film 
) [static]

void lux::MetropolisSampler::GetBufferType ( BufferType t  )  [inline, virtual]

Reimplemented from lux::Sampler.

Definition at line 49 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]

u_int lux::MetropolisSampler::GetTotalSamplePos (  )  [inline, virtual]

Implements lux::Sampler.

Definition at line 42 of file metrosampler.h.

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 54 of file metrosampler.h.

Referenced by AddSample().

Definition at line 53 of file metrosampler.h.

Referenced by AddSample().

Definition at line 61 of file metrosampler.h.

Referenced by GetNextSample(), and MetropolisSampler().

Definition at line 57 of file metrosampler.h.

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

Definition at line 57 of file metrosampler.h.

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

Definition at line 51 of file metrosampler.h.

Referenced by AddSample(), and GetNextSample().

Definition at line 52 of file metrosampler.h.

Referenced by AddSample().

Definition at line 53 of file metrosampler.h.

Referenced by AddSample().

Definition at line 58 of file metrosampler.h.

Referenced by AddSample(), and CreateSampler().

Definition at line 53 of file metrosampler.h.

Referenced by GetNextSample(), and initMetropolis().

Definition at line 56 of file metrosampler.h.

Referenced by GetLazyValues(), and initMetropolis().

Definition at line 59 of file metrosampler.h.

Referenced by AddSample().

Definition at line 54 of file metrosampler.h.

Referenced by AddSample(), and GetNextSample().

Definition at line 54 of file metrosampler.h.

Referenced by CreateSampler(), and GetNextSample().

Definition at line 53 of file metrosampler.h.

Referenced by AddSample().

Definition at line 60 of file metrosampler.h.

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

Definition at line 61 of file metrosampler.h.

Referenced by GetNextSample(), and MetropolisSampler().

Definition at line 61 of file metrosampler.h.

Referenced by GetNextSample().

Definition at line 56 of file metrosampler.h.

Referenced by AddSample(), and initMetropolis().

Definition at line 53 of file metrosampler.h.

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

Definition at line 53 of file metrosampler.h.

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

Definition at line 62 of file metrosampler.h.

Referenced by AddSample(), and CreateSampler().

Definition at line 52 of file metrosampler.h.

Referenced by AddSample().

Definition at line 54 of file metrosampler.h.

Referenced by AddSample().


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

Generated on Fri Jul 24 11:52:05 2009 for lux by  doxygen 1.5.9