#include "pbrt.h"
#include "primitive.h"
#include "color.h"
#include "light.h"
#include "reflection.h"
#include "sampling.h"
#include "material.h"
Go to the source code of this file.
Classes | |
class | Integrator |
class | SurfaceIntegrator |
Functions | |
COREDLL Spectrum | UniformSampleAllLights (const Scene *scene, const Point &p, const Normal &n, const Vector &wo, BSDF *bsdf, const Sample *sample, int *lightSampleOffset, int *bsdfSampleOffset, int *bsdfComponentOffset) |
COREDLL Spectrum | UniformSampleOneLight (const Scene *scene, const Point &p, const Normal &n, const Vector &wo, BSDF *bsdf, const Sample *sample, int lightSampleOffset=-1, int lightNumOffset=-1, int bsdfSampleOffset=-1, int bsdfComponentOffset=-1) |
COREDLL Spectrum | WeightedSampleOneLight (const Scene *scene, const Point &p, const Normal &n, const Vector &wo, BSDF *bsdf, const Sample *sample, int lightSampleOffset, int lightNumOffset, int bsdfSampleOffset, int bsdfComponentOffset, float *&avgY, float *&avgYsample, float *&cdf, float &overallAvgY) |
COREDLL Spectrum UniformSampleAllLights | ( | const Scene * | scene, | |
const Point & | p, | |||
const Normal & | n, | |||
const Vector & | wo, | |||
BSDF * | bsdf, | |||
const Sample * | sample, | |||
int * | lightSampleOffset, | |||
int * | bsdfSampleOffset, | |||
int * | bsdfComponentOffset | |||
) |
Definition at line 31 of file transport.cpp.
References EstimateDirect(), Scene::lights, and Sample::n2D.
Referenced by PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), and DirectLighting::Li().
COREDLL Spectrum UniformSampleOneLight | ( | const Scene * | scene, | |
const Point & | p, | |||
const Normal & | n, | |||
const Vector & | wo, | |||
BSDF * | bsdf, | |||
const Sample * | sample, | |||
int | lightSampleOffset = -1 , |
|||
int | lightNumOffset = -1 , |
|||
int | bsdfSampleOffset = -1 , |
|||
int | bsdfComponentOffset = -1 | |||
) |
Definition at line 51 of file transport.cpp.
References EstimateDirect(), Floor2Int(), Scene::lights, Sample::oneD, and RandomFloat().
Referenced by IrradianceCache::IndirectLo(), PathIntegrator::Li(), DirectLighting::Li(), BidirIntegrator::Li(), and WeightedSampleOneLight().
COREDLL Spectrum WeightedSampleOneLight | ( | const Scene * | scene, | |
const Point & | p, | |||
const Normal & | n, | |||
const Vector & | wo, | |||
BSDF * | bsdf, | |||
const Sample * | sample, | |||
int | lightSampleOffset, | |||
int | lightNumOffset, | |||
int | bsdfSampleOffset, | |||
int | bsdfComponentOffset, | |||
float *& | avgY, | |||
float *& | avgYsample, | |||
float *& | cdf, | |||
float & | overallAvgY | |||
) |
Definition at line 71 of file transport.cpp.
References ComputeStep1dCDF(), EstimateDirect(), ExponentialAverage(), Float2Int(), Scene::lights, Sample::oneD, SampleStep1d(), UniformSampleOneLight(), and Spectrum::y().
Referenced by DirectLighting::Li().