montecarlo.cpp File Reference

#include "stdafx.h"
#include "montecarlo.h"
#include "geometry.h"
#include "shape.h"
#include "volume.h"

Go to the source code of this file.

Functions

void StratifiedSample1D (float *samp, int nSamples, RNG &rng, bool jitter)
void StratifiedSample2D (float *samp, int nx, int ny, RNG &rng, bool jitter)
void LatinHypercube (float *samples, uint32_t nSamples, uint32_t nDim, RNG &rng)
int LDPixelSampleFloatsNeeded (const Sample *sample, int nPixelSamples)
void LDPixelSample (int xPos, int yPos, float shutterOpen, float shutterClose, int nPixelSamples, Sample *samples, float *buf, RNG &rng)
void RejectionSampleDisk (float *x, float *y, RNG &rng)
Vector UniformSampleHemisphere (float u1, float u2)
float UniformHemispherePdf ()
Vector UniformSampleSphere (float u1, float u2)
float UniformSpherePdf ()
void UniformSampleDisk (float u1, float u2, float *x, float *y)
void ConcentricSampleDisk (float u1, float u2, float *dx, float *dy)
void UniformSampleTriangle (float u1, float u2, float *u, float *v)
float UniformConePdf (float cosThetaMax)
Vector UniformSampleCone (float u1, float u2, float costhetamax)
Vector UniformSampleCone (float u1, float u2, float costhetamax, const Vector &x, const Vector &y, const Vector &z)
Vector SampleHG (const Vector &w, float g, float u1, float u2)
float HGPdf (const Vector &w, const Vector &wp, float g)

Variables

static const int primes []

Function Documentation

void ConcentricSampleDisk ( float  u1,
float  u2,
float *  dx,
float *  dy 
)
float HGPdf ( const Vector w,
const Vector wp,
float  g 
)

Definition at line 432 of file montecarlo.cpp.

References PhaseHG().

void LatinHypercube ( float *  samples,
uint32_t  nSamples,
uint32_t  nDim,
RNG rng 
)
void LDPixelSample ( int  xPos,
int  yPos,
float  shutterOpen,
float  shutterClose,
int  nPixelSamples,
Sample samples,
float *  buf,
RNG rng 
)
int LDPixelSampleFloatsNeeded ( const Sample sample,
int  nPixelSamples 
)

Definition at line 182 of file montecarlo.cpp.

References Sample::n1D, and Sample::n2D.

Referenced by LDSampler::GetMoreSamples(), and AdaptiveSampler::GetMoreSamples().

void RejectionSampleDisk ( float *  x,
float *  y,
RNG rng 
)

Definition at line 249 of file montecarlo.cpp.

References RNG::RandomFloat().

Vector SampleHG ( const Vector w,
float  g,
float  u1,
float  u2 
)

Definition at line 415 of file montecarlo.cpp.

References CoordinateSystem(), M_PI, and SphericalDirection().

void StratifiedSample1D ( float *  samp,
int  nSamples,
RNG rng,
bool  jitter 
)

Definition at line 140 of file montecarlo.cpp.

References OneMinusEpsilon, and RNG::RandomFloat().

Referenced by StratifiedSampler::GetMoreSamples().

void StratifiedSample2D ( float *  samp,
int  nx,
int  ny,
RNG rng,
bool  jitter 
)

Definition at line 150 of file montecarlo.cpp.

References OneMinusEpsilon, and RNG::RandomFloat().

Referenced by StratifiedSampler::GetMoreSamples(), and BSDF::rho().

float UniformConePdf ( float  cosThetaMax  ) 

Definition at line 392 of file montecarlo.cpp.

References M_PI.

Referenced by PhotonIntegrator::Li(), Sphere::Pdf(), SpotLight::Sample_L(), and ProjectionLight::Sample_L().

float UniformHemispherePdf (  ) 

Definition at line 270 of file montecarlo.cpp.

References INV_TWOPI.

Referenced by Gen_UniformHemisphere().

Vector UniformSampleCone ( float  u1,
float  u2,
float  costhetamax,
const Vector x,
const Vector y,
const Vector z 
)

Definition at line 405 of file montecarlo.cpp.

References Lerp(), and M_PI.

Vector UniformSampleCone ( float  u1,
float  u2,
float  costhetamax 
)
void UniformSampleDisk ( float  u1,
float  u2,
float *  x,
float *  y 
)

Definition at line 290 of file montecarlo.cpp.

References M_PI.

Vector UniformSampleHemisphere ( float  u1,
float  u2 
)

Definition at line 260 of file montecarlo.cpp.

References M_PI.

Referenced by Gen_UniformHemisphere(), and BxDF::rho().

Vector UniformSampleSphere ( float  u1,
float  u2 
)
void UniformSampleTriangle ( float  u1,
float  u2,
float *  u,
float *  v 
)

Definition at line 343 of file montecarlo.cpp.

Referenced by Triangle::Sample().

float UniformSpherePdf (  ) 

Variable Documentation

const int primes[] [static]

Definition at line 33 of file montecarlo.cpp.

Referenced by PermutedHalton::PermutedHalton().

Generated on Sat Aug 28 20:00:12 2010 for pbrt by  doxygen 1.6.3