NullSensor Class Reference

Null sensor which doesn't emit any importance. More...

#include <NullSensor.h>

Inheritance diagram for NullSensor:

Sensor BSDF Sampler SSEAligned

List of all members.

Public Member Functions

Constructors
 NullSensor (SurfacePoint &pt, Material *parent=NULL)
virtual ~NullSensor ()
Initialization
virtual void init ()
 Performs any initialization that may be necessary before beginning to use this sensor.
Main usage interface
virtual bool isSensor ()
virtual SpectralSampleSet getWe (const Vector3 &wo)
virtual SpectralSampleSet getImportance ()
Sampling interface
virtual Event sample ()
 Samples an exitent vector according to the underlying distribution of emitted importance at the surface point.
virtual real_t getPdf (const Event &event)
virtual SpectralSampleSet getBSDF (const Vector3 &wi, const Vector3 &wo)
 Mimics the behavior of a BSDF by separating emittance, We(x,wo), into two parts: We(x,wo,0) and We(x,wo,1). We(x,wo,0) is independent of 'wo' and represents the total importance emitted at point x. We(x,wo,1) represents We(x,w) / We(x,wo,0), or in words, the directional distribution of importance emitted at x, corresponding to the fraction of importance emitted in direction 'wo' with respect to the total importance emitted at point x.


Detailed Description

Null sensor which doesn't emit any importance.

Author:
Travis Fischer (fisch0920@gmail.com)

Matthew Jacobs (jacobs.mh@gmail.com)

Date:
Fall 2008

Definition at line 16 of file NullSensor.h.


Constructor & Destructor Documentation

NullSensor::NullSensor ( SurfacePoint pt,
Material parent = NULL 
) [inline]

Definition at line 21 of file NullSensor.h.

virtual NullSensor::~NullSensor (  )  [inline, virtual]

Definition at line 25 of file NullSensor.h.


Member Function Documentation

void NullSensor::init (  )  [virtual]

Performs any initialization that may be necessary before beginning to use this sensor.

Reimplemented from Sensor.

Definition at line 14 of file NullSensor.cpp.

bool NullSensor::isSensor (  )  [virtual]

Returns:
true iff this sensor emits importance (is a valid sensor)
Note:
if 'isSensor' returns false, 'getWe' and 'getImportance' must return SpectralSampleSet::black

Reimplemented from Sensor.

Definition at line 18 of file NullSensor.cpp.

SpectralSampleSet NullSensor::getWe ( const Vector3 wo  )  [virtual]

Returns:
the spectral importance emitted along the given vector

Reimplemented from Sensor.

Definition at line 22 of file NullSensor.cpp.

SpectralSampleSet NullSensor::getImportance (  )  [virtual]

Returns:
the spectral importance of this sensor, representing the total radiant energy emitted from surfaces associated with this sensor; TODO: what units?
Note:
total We emitted by integrating 'getWe' over the the sphere of exitant directions should equal the importance of this sensor

Reimplemented from Sensor.

Definition at line 26 of file NullSensor.cpp.

Event NullSensor::sample (  )  [virtual]

Samples an exitent vector according to the underlying distribution of emitted importance at the surface point.

Returns:
the sampled vector

Reimplemented from Sensor.

Definition at line 32 of file NullSensor.cpp.

real_t NullSensor::getPdf ( const Event event  )  [virtual]

Returns:
the probability density of having sampled the given out out vector 'event' with respect to whatever underlying sampling strategy is being used to sample this sensor

Reimplemented from Sensor.

Definition at line 36 of file NullSensor.cpp.

SpectralSampleSet NullSensor::getBSDF ( const Vector3 wi,
const Vector3 wo 
) [virtual]

Mimics the behavior of a BSDF by separating emittance, We(x,wo), into two parts: We(x,wo,0) and We(x,wo,1). We(x,wo,0) is independent of 'wo' and represents the total importance emitted at point x. We(x,wo,1) represents We(x,w) / We(x,wo,0), or in words, the directional distribution of importance emitted at x, corresponding to the fraction of importance emitted in direction 'wo' with respect to the total importance emitted at point x.

Returns:
the directional distribution of importance emitted in direction 'wo'
Note:
all implementations should disregard 'wo', as it has no physical interpretation in the context of a sensor

for details, see Eric Veach's thesis, section 8.3.2

Reimplemented from Sensor.

Definition at line 40 of file NullSensor.cpp.


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

Generated on 28 Feb 2009 for Milton by doxygen 1.5.6