#include <sampling.h>
Classes | |
class | Contribution |
Public Member Functions | |
Sample (SurfaceIntegrator *surf, VolumeIntegrator *vol, const Scene *scene) | |
u_int | Add1D (u_int num) |
u_int | Add2D (u_int num) |
u_int | AddxD (vector< u_int > &structure, u_int num) |
void | AddContribution (float x, float y, const XYZColor &c, float a, int b=0, int g=0) const |
void | AddContribution (float x, float y, const XYZColor &c, float a, float v, int b=0, int g=0) const |
~Sample () | |
Public Attributes | |
Sampler * | sampler |
SamplingType | sampling |
float | imageX |
float | imageY |
float | lensU |
float | lensV |
float | time |
float | wavelengths |
float | singleWavelength |
int | stamp |
vector< u_int > | n1D |
vector< u_int > | n2D |
vector< u_int > | nxD |
vector< u_int > | dxD |
vector< vector< u_int > > | sxD |
float ** | oneD |
float ** | twoD |
float ** | xD |
int ** | timexD |
vector< Contribution > | contributions |
Definition at line 43 of file sampling.h.
Sample::Sample | ( | SurfaceIntegrator * | surf, | |
VolumeIntegrator * | vol, | |||
const Scene * | scene | |||
) |
Definition at line 67 of file sampling.cpp.
References lux::AllocAligned(), dxD, n1D, n2D, nxD, oneD, lux::Integrator::RequestSamples(), sampler, stamp, timexD, twoD, and xD.
lux::Sample::~Sample | ( | ) | [inline] |
Definition at line 49 of file sampling.h.
References n1D.
Referenced by lux::SingleScattering::RequestSamples(), lux::PhotonIntegrator::RequestSamples(), lux::MLTPathIntegrator::RequestSamples(), lux::IrradianceCache::RequestSamples(), lux::IGIIntegrator::RequestSamples(), lux::EmissionIntegrator::RequestSamples(), and lux::BidirIntegrator::RequestSamples().
Definition at line 53 of file sampling.h.
References n2D.
Referenced by lux::PhotonIntegrator::RequestSamples(), lux::MLTPathIntegrator::RequestSamples(), lux::IrradianceCache::RequestSamples(), lux::IGIIntegrator::RequestSamples(), and lux::BidirIntegrator::RequestSamples().
void lux::Sample::AddContribution | ( | float | x, | |
float | y, | |||
const XYZColor & | c, | |||
float | a, | |||
float | v, | |||
int | b = 0 , |
|||
int | g = 0 | |||
) | const [inline] |
void lux::Sample::AddContribution | ( | float | x, | |
float | y, | |||
const XYZColor & | c, | |||
float | a, | |||
int | b = 0 , |
|||
int | g = 0 | |||
) | const [inline] |
Definition at line 66 of file sampling.h.
References contributions, and blender::g.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::Path2Integrator::Li(), lux::PathIntegrator::Li(), lux::ParticleTracingIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::DirectLighting::Li(), and lux::BidirIntegrator::Li().
Definition at line 57 of file sampling.h.
Referenced by lux::Path2Integrator::RequestSamples(), lux::PathIntegrator::RequestSamples(), lux::ParticleTracingIntegrator::RequestSamples(), lux::ExPhotonIntegrator::RequestSamples(), lux::DirectLighting::RequestSamples(), and lux::BidirIntegrator::RequestSamples().
vector<Contribution> lux::Sample::contributions [mutable] |
Definition at line 114 of file sampling.h.
Referenced by AddContribution(), lux::Sampler::AddSample(), lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), and lux::Sampler::SampleBegin().
vector<u_int> lux::Sample::dxD |
Definition at line 110 of file sampling.h.
Referenced by AddxD(), lux::Sampler::GetLazyValues(), lux::RandomSampler::GetLazyValues(), lux::MetropolisSampler::GetLazyValues(), lux::LDSampler::GetLazyValues(), lux::HaltonSampler::GetLazyValues(), lux::ERPTSampler::GetLazyValues(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), initERPT(), initMetropolis(), and Sample().
float lux::Sample::imageX |
Definition at line 104 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::EnvironmentCamera::GenerateRay(), lux::EnvironmentCamera::GenerateSample(), lux::ProjectiveCamera::GenerateSample(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::Metropolis::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::Path2Integrator::Li(), lux::PathIntegrator::Li(), lux::ParticleTracingIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::DirectLighting::Li(), lux::BidirIntegrator::Li(), and lux::RenderThread::render().
float lux::Sample::imageY |
Definition at line 104 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::EnvironmentCamera::GenerateRay(), lux::EnvironmentCamera::GenerateSample(), lux::ProjectiveCamera::GenerateSample(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::Metropolis::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::Path2Integrator::Li(), lux::PathIntegrator::Li(), lux::ParticleTracingIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::DirectLighting::Li(), lux::BidirIntegrator::Li(), and lux::RenderThread::render().
float lux::Sample::lensU |
Definition at line 105 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::Metropolis::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::Path2Integrator::Li(), and lux::ParticleTracingIntegrator::Li().
float lux::Sample::lensV |
Definition at line 105 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::Metropolis::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::Path2Integrator::Li(), and lux::ParticleTracingIntegrator::Li().
vector<u_int> lux::Sample::n1D |
Definition at line 110 of file sampling.h.
Referenced by Add1D(), lux::RandomSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), initERPT(), initMetropolis(), and Sample().
vector<u_int> lux::Sample::n2D |
Definition at line 110 of file sampling.h.
Referenced by Add2D(), lux::RandomSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), initERPT(), initMetropolis(), Sample(), and lux::UniformSampleAllLights().
vector<u_int> lux::Sample::nxD |
Definition at line 110 of file sampling.h.
Referenced by AddxD(), lux::LDSampler::GetLazyValues(), lux::HaltonSampler::GetLazyValues(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), initERPT(), initMetropolis(), and Sample().
float** lux::Sample::oneD |
Definition at line 112 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::BidirIntegrator::generatePath(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::SingleScattering::Li(), lux::PhotonIntegrator::Li(), lux::MLTPathIntegrator::Li(), lux::IGIIntegrator::Li(), lux::EmissionIntegrator::Li(), lux::BidirIntegrator::Li(), Sample(), lux::SingleScattering::Transmittance(), lux::EmissionIntegrator::Transmittance(), lux::WeightedSampleOneLight(), and ~Sample().
Definition at line 101 of file sampling.h.
Referenced by generateLightPath(), lux::BidirIntegrator::generatePath(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), lux::Path2Integrator::Li(), lux::PathIntegrator::Li(), lux::ParticleTracingIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::DirectLighting::Li(), lux::BidirIntegrator::Li(), lux::ExPhotonIntegrator::LiInternal(), lux::DirectLighting::LiInternal(), and Sample().
Definition at line 102 of file sampling.h.
Definition at line 107 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), and lux::RenderThread::render().
int lux::Sample::stamp [mutable] |
Definition at line 109 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::MetropolisSampler::GetLazyValues(), lux::ERPTSampler::GetLazyValues(), lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), and Sample().
vector<vector<u_int> > lux::Sample::sxD |
Definition at line 111 of file sampling.h.
Referenced by AddxD(), lux::LDSampler::GetLazyValues(), lux::HaltonSampler::GetLazyValues(), lux::LDSampler::GetNextSample(), and lux::HaltonSampler::GetNextSample().
float lux::Sample::time |
Definition at line 106 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::EnvironmentCamera::GenerateRay(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::Metropolis::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), and lux::ERPTSampler::GetNextSample().
int** lux::Sample::timexD |
Definition at line 113 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::MetropolisSampler::GetLazyValues(), lux::ERPTSampler::GetLazyValues(), lux::MetropolisSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), Sample(), and ~Sample().
float ** lux::Sample::twoD |
Definition at line 112 of file sampling.h.
Referenced by lux::BidirIntegrator::generatePath(), lux::RandomSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), lux::PhotonIntegrator::Li(), lux::MLTPathIntegrator::Li(), lux::BidirIntegrator::Li(), Sample(), lux::UniformSampleAllLights(), and lux::WeightedSampleOneLight().
float lux::Sample::wavelengths |
Definition at line 107 of file sampling.h.
Referenced by lux::MetropolisSampler::AddSample(), lux::ERPTSampler::AddSample(), lux::RandomSampler::GetNextSample(), lux::MetropolisSampler::GetNextSample(), lux::LDSampler::GetNextSample(), lux::HaltonSampler::GetNextSample(), lux::ERPTSampler::GetNextSample(), and lux::RenderThread::render().
float ** lux::Sample::xD |
Definition at line 112 of file sampling.h.
Referenced by lux::Sampler::GetLazyValues(), lux::RandomSampler::GetLazyValues(), lux::MetropolisSampler::GetLazyValues(), lux::LDSampler::GetLazyValues(), lux::HaltonSampler::GetLazyValues(), lux::ERPTSampler::GetLazyValues(), and Sample().