lux::PhotonIntegrator Class Reference

#include <photonmap.h>

Inheritance diagram for lux::PhotonIntegrator:

lux::SurfaceIntegrator lux::Integrator

List of all members.

Public Member Functions

 PhotonIntegrator (int ncaus, int ndir, int nindir, int nLookup, int mdepth, float maxdist, bool finalGather, int gatherSamples, bool directWithPhotons)
 ~PhotonIntegrator ()
Spectrum Li (const Scene *scene, const RayDifferential &ray, const Sample *sample, float *alpha) const
void RequestSamples (Sample *sample, const Scene *scene)
void Preprocess (const Scene *)
virtual PhotonIntegratorclone () const
IntegrationSampler * HasIntegrationSampler (IntegrationSampler *is)

Static Public Member Functions

static SurfaceIntegratorCreateSurfaceIntegrator (const ParamSet &params)

Static Private Member Functions

static bool unsuccessful (int needed, int found, int shot)
static Spectrum LPhoton (KdTree< Photon, PhotonProcess > *map, int nPaths, int nLookup, BSDF *bsdf, const Intersection &isect, const Vector &w, float maxDistSquared)

Private Attributes

u_int nCausticPhotons
u_int nIndirectPhotons
u_int nDirectPhotons
u_int nLookup
int specularDepth
int maxSpecularDepth
float maxDistSquared
bool directWithPhotons
bool finalGather
int gatherSamples
int * lightSampleOffset
int lightNumOffset
int * bsdfSampleOffset
int * bsdfComponentOffset
int gatherSampleOffset
int gatherComponentOffset
int nCausticPaths
int nDirectPaths
int nIndirectPaths
KdTree< Photon, PhotonProcess > * causticMap
KdTree< Photon, PhotonProcess > * directMap
KdTree< Photon, PhotonProcess > * indirectMap


Detailed Description

Definition at line 45 of file photonmap.h.


Constructor & Destructor Documentation

PhotonIntegrator::PhotonIntegrator ( int  ncaus,
int  ndir,
int  nindir,
int  nLookup,
int  mdepth,
float  maxdist,
bool  finalGather,
int  gatherSamples,
bool  directWithPhotons 
)

PhotonIntegrator::~PhotonIntegrator (  ) 

Definition at line 49 of file photonmap.cpp.

References causticMap, directMap, and indirectMap.


Member Function Documentation

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

Definition at line 29 of file photonmap.cpp.

References PhotonIntegrator().

SurfaceIntegrator * PhotonIntegrator::CreateSurfaceIntegrator ( const ParamSet params  )  [static]

IntegrationSampler* lux::PhotonIntegrator::HasIntegrationSampler ( IntegrationSampler *  is  )  [inline]

Definition at line 57 of file photonmap.h.

Spectrum PhotonIntegrator::Li ( const Scene scene,
const RayDifferential ray,
const Sample sample,
float *  alpha 
) const [virtual]

Spectrum PhotonIntegrator::LPhoton ( KdTree< Photon, PhotonProcess > *  map,
int  nPaths,
int  nLookup,
BSDF bsdf,
const Intersection isect,
const Vector w,
float  maxDistSquared 
) [static, private]

void PhotonIntegrator::Preprocess ( const Scene scene  )  [virtual]

void PhotonIntegrator::RequestSamples ( Sample sample,
const Scene scene 
) [virtual]

static bool lux::PhotonIntegrator::unsuccessful ( int  needed,
int  found,
int  shot 
) [inline, static, private]

Definition at line 61 of file photonmap.h.

Referenced by Preprocess().


Member Data Documentation

Definition at line 78 of file photonmap.h.

Referenced by Li(), and RequestSamples().

Definition at line 78 of file photonmap.h.

Referenced by Li(), and RequestSamples().

Definition at line 81 of file photonmap.h.

Referenced by Li(), PhotonIntegrator(), Preprocess(), and ~PhotonIntegrator().

Definition at line 82 of file photonmap.h.

Referenced by Li(), PhotonIntegrator(), Preprocess(), and ~PhotonIntegrator().

Definition at line 74 of file photonmap.h.

Referenced by Li(), and PhotonIntegrator().

Definition at line 74 of file photonmap.h.

Referenced by CreateSurfaceIntegrator(), Li(), PhotonIntegrator(), and RequestSamples().

Definition at line 79 of file photonmap.h.

Referenced by Li(), and RequestSamples().

Definition at line 79 of file photonmap.h.

Referenced by Li(), and RequestSamples().

Definition at line 75 of file photonmap.h.

Referenced by CreateSurfaceIntegrator(), Li(), PhotonIntegrator(), and RequestSamples().

Definition at line 83 of file photonmap.h.

Referenced by Li(), PhotonIntegrator(), Preprocess(), and ~PhotonIntegrator().

Definition at line 77 of file photonmap.h.

Referenced by RequestSamples().

Definition at line 77 of file photonmap.h.

Referenced by Li(), and RequestSamples().

Definition at line 73 of file photonmap.h.

Referenced by Li(), and PhotonIntegrator().

Definition at line 72 of file photonmap.h.

Referenced by Li(), and PhotonIntegrator().

Definition at line 80 of file photonmap.h.

Referenced by Li(), and Preprocess().

Definition at line 69 of file photonmap.h.

Referenced by PhotonIntegrator(), and Preprocess().

Definition at line 80 of file photonmap.h.

Referenced by Li(), and Preprocess().

Definition at line 69 of file photonmap.h.

Referenced by PhotonIntegrator(), and Preprocess().

Definition at line 80 of file photonmap.h.

Referenced by Li(), and Preprocess().

Definition at line 69 of file photonmap.h.

Referenced by PhotonIntegrator(), and Preprocess().

Definition at line 70 of file photonmap.h.

Referenced by Li(), and PhotonIntegrator().

int lux::PhotonIntegrator::specularDepth [mutable, private]

Definition at line 71 of file photonmap.h.

Referenced by Li(), and PhotonIntegrator().


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

Generated on Sat Aug 15 19:15:03 2009 for lux by  doxygen 1.5.9