mc.cpp File Reference

#include "pbrt.h"
#include "geometry.h"
#include "shape.h"
#include "mc.h"
#include "volume.h"

Go to the source code of this file.

Functions

void ComputeStep1dCDF (float *f, int nSteps, float *c, float *cdf)
float SampleStep1d (float *f, float *cdf, float c, int nSteps, float u, float *pdf)
void RejectionSampleDisk (float *x, float *y)
COREDLL Vector UniformSampleHemisphere (float u1, float u2)
COREDLL float UniformHemispherePdf (float theta, float phi)
COREDLL Vector UniformSampleSphere (float u1, float u2)
COREDLL float UniformSpherePdf ()
COREDLL void UniformSampleDisk (float u1, float u2, float *x, float *y)
COREDLL void ConcentricSampleDisk (float u1, float u2, float *dx, float *dy)
COREDLL void UniformSampleTriangle (float u1, float u2, float *u, float *v)
COREDLL float UniformConePdf (float cosThetaMax)
Vector UniformSampleCone (float u1, float u2, float costhetamax)
COREDLL Vector UniformSampleCone (float u1, float u2, float costhetamax, const Vector &x, const Vector &y, const Vector &z)
COREDLL Vector SampleHG (const Vector &w, float g, float u1, float u2)
COREDLL float HGPdf (const Vector &w, const Vector &wp, float g)


Function Documentation

COREDLL void ComputeStep1dCDF ( float *  f,
int  nSteps,
float *  c,
float *  cdf 
)

COREDLL void ConcentricSampleDisk ( float  u1,
float  u2,
float *  dx,
float *  dy 
)

COREDLL float HGPdf ( const Vector w,
const Vector wp,
float  g 
)

Definition at line 178 of file mc.cpp.

References PhaseHG().

void RejectionSampleDisk ( float *  x,
float *  y 
)

Definition at line 53 of file mc.cpp.

References RandomFloat().

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

Definition at line 161 of file mc.cpp.

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

COREDLL float SampleStep1d ( float *  f,
float *  cdf,
float  c,
int  nSteps,
float  u,
float *  pdf 
)

COREDLL float UniformConePdf ( float  cosThetaMax  ) 

Definition at line 141 of file mc.cpp.

References M_PI.

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

COREDLL float UniformHemispherePdf ( float  theta,
float  phi 
)

Definition at line 70 of file mc.cpp.

References INV_TWOPI.

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

Definition at line 153 of file mc.cpp.

References Lerp(), and M_PI.

Vector UniformSampleCone ( float  u1,
float  u2,
float  costhetamax 
)

Definition at line 144 of file mc.cpp.

References Lerp(), and M_PI.

Referenced by ExPhotonIntegrator::Li(), Sphere::Sample(), SpotLight::Sample_L(), and ProjectionLight::Sample_L().

COREDLL void UniformSampleDisk ( float  u1,
float  u2,
float *  x,
float *  y 
)

Definition at line 84 of file mc.cpp.

References M_PI.

COREDLL Vector UniformSampleHemisphere ( float  u1,
float  u2 
)

Definition at line 62 of file mc.cpp.

References M_PI.

Referenced by BxDF::rho().

COREDLL Vector UniformSampleSphere ( float  u1,
float  u2 
)

COREDLL void UniformSampleTriangle ( float  u1,
float  u2,
float *  u,
float *  v 
)

Definition at line 135 of file mc.cpp.

Referenced by Triangle::Sample().

COREDLL float UniformSpherePdf (  ) 

Definition at line 81 of file mc.cpp.

References M_PI.

Referenced by PointLight::Sample_L(), InfiniteAreaLight::Sample_L(), and GonioPhotometricLight::Sample_L().


Generated on Mon Jul 20 17:31:54 2009 for pbrt by  doxygen 1.5.6