PathVertex.h File Reference

A Path is composed of zero or more PathVertex vertices stored in a PathVertexList. Each PathVertex stores the underlying SurfacePoint, representing a single point on a surface (and all relevant associated metadata, eg, UV coords, normal, BSDF, etc.). In addition to storing the underlying SurfacePoint, each PathVertex also stores a set of carefully chosen, local values which facilitate efficient computation of the unweighted, bidirectional contributions of all possible combinations of light and eye subpaths. Specifically, 'alphaL' and 'alphaE' store the cumulative light and eye contributions respectively, with respect to this vertex' index within its parent Path. More...

#include <utils/SpectralSampleSet.h>
#include <core/SurfacePoint.h>
#include <stats/Event.h>
#include <ostream>
#include <deque>

Go to the source code of this file.

Classes

class  PathVertex
 A Path is composed of zero or more PathVertex vertices stored in a PathVertexList. Each PathVertex stores the underlying SurfacePoint, representing a single point on a surface (and all relevant associated metadata, eg, UV coords, normal, BSDF, etc.). In addition to storing the underlying SurfacePoint, each PathVertex also stores a set of carefully chosen, local values which facilitate efficient computation of the unweighted, bidirectional contributions of all possible combinations of light and eye subpaths. Specifically, 'alphaL' and 'alphaE' store the cumulative light and eye contributions respectively, with respect to this vertex' index within its parent Path. More...

Functions

 DECLARE_STL_TYPEDEF (std::deque< PathVertex >, PathVertexList)
std::ostream & operator<< (std::ostream &os, const PathVertex &v)
 Prints a PathVertex to an output stream.


Detailed Description

A Path is composed of zero or more PathVertex vertices stored in a PathVertexList. Each PathVertex stores the underlying SurfacePoint, representing a single point on a surface (and all relevant associated metadata, eg, UV coords, normal, BSDF, etc.). In addition to storing the underlying SurfacePoint, each PathVertex also stores a set of carefully chosen, local values which facilitate efficient computation of the unweighted, bidirectional contributions of all possible combinations of light and eye subpaths. Specifically, 'alphaL' and 'alphaE' store the cumulative light and eye contributions respectively, with respect to this vertex' index within its parent Path.

Author:
Travis Fischer (fisch0920@gmail.com)

Matthew Jacobs (jacobs.mh@gmail.com)

Date:
Fall 2008
Note:
Density with respect to projected solid angle is density with respect to ordinary solid angle divided by cos(theta) where theta is the angle between wo and the surface normal at v (PathVertex::pdfL and PathVertex::pdfE are both probability densities with respect to projected solid angle)
See also:
section 10.2 (pgs 302-305) of Veach's thesis for more details

Definition in file PathVertex.h.


Function Documentation

DECLARE_STL_TYPEDEF ( std::deque< PathVertex ,
PathVertexList   
)

std::ostream& operator<< ( std::ostream &  os,
const PathVertex v 
)

Prints a PathVertex to an output stream.

Definition at line 70 of file PathVertex.cpp.


Generated on 28 Feb 2009 for Milton by doxygen 1.5.6