PathTracing Class Reference

#include <PathTracing.h>

Inheritance diagram for PathTracing:

RayTracing ReflectionModel GRAObject PhotonMapping PhotonTracing Caustics List of all members.

Public Member Functions

 PathTracing (AutoPtr< LocalReflection > *r=NULL, const Color3f &bg=Color3f(0, 0, 0), Intersector *i=NULL, unsigned d=1, float w=.001, float f=REFR_AIR, unsigned p=1)
virtual void setDiffuseBRDF (DiffuseBRDF *b)
virtual void setSpecularBRDF (SpecularBRDF *b)
virtual void setEmittance (Emittance *e)
virtual void setScene (Scene *s)
virtual Color3f * illuminatePoint (PointEnv &)
void setIntersector (Intersector *i)

Protected Types

enum  RefrDir { REFR_DIR_REFLECTION, REFR_DIR_REFRACTION }

Protected Member Functions

virtual void _cast_the_ray (PointEnv &, unsigned, bool, Color3f &, const Vector3 &, const Vector3 &)
virtual void _cast_secondary_rays (PointEnv &, unsigned, bool, Color3f &, MatVisitor &)
void _check_point_of_intersection (PointEnv &) const
MatVisitor * _check_material (SceneGraphObject *, bool)
PointEnv * _cast_ray (const Vector3 &, const Vector3 &)
void _apply_texture (PointEnv &, Color3f &)
void _apply_texture (PointEnv &, Vector3 &)
void _direct_illumination (PointEnv &, MatVisitor &, unsigned, Color3f &)
RefrDir _refraction_dir (PointEnv &, MatVisitor &, bool, Vector3 &)
void _reflection_dir (PointEnv &, Vector3 &)
virtual void _illuminate (PointEnv &, unsigned, bool, Color3f &)

Protected Attributes

unsigned _photonsPerSurface
AutoPtr< LocalReflection > * _pAReflection
Color3f _background
Intersector * _pIntersector
unsigned _maxDepth
float _minRayWeight
float _defaultMediumRefraction
LocalReflection_pLocalReflection
RayIntExplorer _riExplorer
Texture * _pTexture
Sgi::hash_map< SceneGraphObject::OID,
MatVisitor * > 
_matCache
DiffuseBRDF * _pDiffuseBRDF
SpecularBRDF * _pSpecularBRDF
Emittance * _pEmittance
Scene_pScene

Detailed Description

Definition at line 22 of file PathTracing.h.


Member Enumeration Documentation

enum RefrDir [protected, inherited]
 

Enumerator:
REFR_DIR_REFLECTION 
REFR_DIR_REFRACTION 

Definition at line 48 of file RayTracing.h.


Constructor & Destructor Documentation

PathTracing AutoPtr< LocalReflection > *  r = NULL,
const Color3f &  bg = Color3f(0,0,0),
Intersector *  i = NULL,
unsigned  d = 1,
float  w = .001,
float  f = REFR_AIR,
unsigned  p = 1
[inline]
 

Definition at line 34 of file PathTracing.h.


Member Function Documentation

void _apply_texture PointEnv &  ,
Vector3 & 
[protected, inherited]
 

Definition at line 116 of file RayTracing.cc.

References RayTracing::_pTexture.

void _apply_texture PointEnv &  ,
Color3f & 
[protected, inherited]
 

Definition at line 84 of file RayTracing.cc.

References RayTracing::_pTexture.

Referenced by RayTracing::_cast_secondary_rays(), and RayTracing::_direct_illumination().

PointEnv * _cast_ray const Vector3 &  ,
const Vector3 & 
[protected, inherited]
 

Definition at line 53 of file RayTracing.cc.

References RayTracing::_pIntersector, ReflectionModel::_pScene, RayTracing::_riExplorer, and Scene::root().

Referenced by RayTracing::_cast_secondary_rays(), and PathTracing::_cast_the_ray().

void _cast_secondary_rays PointEnv &  ,
unsigned  ,
bool  ,
Color3f &  ,
MatVisitor & 
[protected, virtual]
 

Reimplemented from RayTracing.

Reimplemented in PhotonMapping.

Definition at line 36 of file PathTracing.cc.

References PathTracing::_cast_the_ray(), ReflectionModel::_pDiffuseBRDF, PathTracing::_photonsPerSurface, and ReflectionModel::_pSpecularBRDF.

Referenced by PhotonTracing::_illuminate(), and Caustics::_illuminate().

void _cast_the_ray PointEnv &  ,
unsigned  ,
bool  ,
Color3f &  ,
const Vector3 &  ,
const Vector3 & 
[protected, virtual]
 

Definition at line 6 of file PathTracing.cc.

References RayTracing::_background, RayTracing::_cast_ray(), RayTracing::_illuminate(), and RayTracing::_minRayWeight.

Referenced by PathTracing::_cast_secondary_rays(), and PhotonMapping::_sample_specular().

MatVisitor * _check_material SceneGraphObject *  ,
bool 
[protected, inherited]
 

Definition at line 28 of file RayTracing.cc.

References RayTracing::_matCache, ReflectionModel::_pDiffuseBRDF, RayTracing::_pLocalReflection, ReflectionModel::_pSpecularBRDF, RayTracing::_pTexture, ReflectionModel::setDiffuseBRDF(), ReflectionModel::setEmittance(), and ReflectionModel::setSpecularBRDF().

Referenced by RayTracing::_illuminate(), PhotonTracing::_illuminate(), PhotonMapping::_illuminate(), and Caustics::_illuminate().

void _check_point_of_intersection PointEnv &   )  const [protected, inherited]
 

Definition at line 6 of file RayTracing.cc.

Referenced by RayTracing::_illuminate(), PhotonTracing::_illuminate(), PhotonMapping::_illuminate(), and Caustics::_illuminate().

void _direct_illumination PointEnv &  ,
MatVisitor &  ,
unsigned  ,
Color3f & 
[protected, inherited]
 

Definition at line 148 of file RayTracing.cc.

References RayTracing::_apply_texture(), RayTracing::_pLocalReflection, LocalReflection::illuminatePoint(), and LocalReflection::setActBlockingObjCache().

Referenced by RayTracing::_illuminate(), and PhotonMapping::_illuminate().

void _illuminate PointEnv &  ,
unsigned  ,
bool  ,
Color3f & 
[protected, virtual, inherited]
 

Reimplemented in Caustics, PhotonMapping, and PhotonTracing.

Definition at line 294 of file RayTracing.cc.

References RayTracing::_cast_secondary_rays(), RayTracing::_check_material(), RayTracing::_check_point_of_intersection(), RayTracing::_direct_illumination(), and RayTracing::_maxDepth.

Referenced by RayTracing::_cast_secondary_rays(), PathTracing::_cast_the_ray(), and RayTracing::illuminatePoint().

void _reflection_dir PointEnv &  ,
Vector3 & 
[protected, inherited]
 

Definition at line 188 of file RayTracing.cc.

Referenced by RayTracing::_cast_secondary_rays(), and PhotonMapping::_sample_specular().

RayTracing::RefrDir _refraction_dir PointEnv &  ,
MatVisitor &  ,
bool  ,
Vector3 & 
[protected, inherited]
 

Definition at line 164 of file RayTracing.cc.

References RayTracing::_defaultMediumRefraction, RayTracing::REFR_DIR_REFLECTION, and RayTracing::REFR_DIR_REFRACTION.

Referenced by RayTracing::_cast_secondary_rays(), and PhotonMapping::_sample_specular().

Color3f * illuminatePoint PointEnv &   )  [virtual, inherited]
 

Implements ReflectionModel.

Reimplemented in PhotonMapping, and PhotonTracing.

Definition at line 335 of file RayTracing.cc.

References RayTracing::_illuminate(), ReflectionModel::_pDiffuseBRDF, RayTracing::_pIntersector, RayTracing::_pLocalReflection, ReflectionModel::_pScene, ReflectionModel::_pSpecularBRDF, and Scene::root().

Referenced by PhotonMapping::illuminatePoint().

virtual void setDiffuseBRDF DiffuseBRDF *  b  )  [inline, virtual, inherited]
 

Reimplemented from ReflectionModel.

Definition at line 98 of file RayTracing.h.

References ReflectionModel::setDiffuseBRDF().

Referenced by PhotonMapShader::distributeEnergy().

virtual void setEmittance Emittance *  e  )  [inline, virtual, inherited]
 

Reimplemented from ReflectionModel.

Definition at line 110 of file RayTracing.h.

References ReflectionModel::setEmittance().

void setIntersector Intersector *  i  )  [inline, inherited]
 

Definition at line 134 of file RayTracing.h.

virtual void setScene Scene s  )  [inline, virtual, inherited]
 

Reimplemented from ReflectionModel.

Reimplemented in PhotonMapping.

Definition at line 116 of file RayTracing.h.

References ReflectionModel::setScene().

Referenced by PhotonMapShader::distributeEnergy(), and PhotonMapping::setScene().

virtual void setSpecularBRDF SpecularBRDF *  b  )  [inline, virtual, inherited]
 

Reimplemented from ReflectionModel.

Definition at line 104 of file RayTracing.h.

References ReflectionModel::setSpecularBRDF().

Referenced by PhotonMapShader::distributeEnergy().


Member Data Documentation

Color3f _background [protected, inherited]
 

Definition at line 37 of file RayTracing.h.

Referenced by RayTracing::_cast_secondary_rays(), and PathTracing::_cast_the_ray().

float _defaultMediumRefraction [protected, inherited]
 

Definition at line 41 of file RayTracing.h.

Referenced by RayTracing::_refraction_dir().

Sgi::hash_map<SceneGraphObject::OID, MatVisitor*> _matCache [protected, inherited]
 

Definition at line 46 of file RayTracing.h.

Referenced by RayTracing::_check_material().

unsigned _maxDepth [protected, inherited]
 

Definition at line 39 of file RayTracing.h.

Referenced by RayTracing::_illuminate(), PhotonTracing::_illuminate(), and Caustics::_illuminate().

float _minRayWeight [protected, inherited]
 

Definition at line 40 of file RayTracing.h.

Referenced by RayTracing::_cast_secondary_rays(), and PathTracing::_cast_the_ray().

AutoPtr<LocalReflection>* _pAReflection [protected, inherited]
 

Definition at line 36 of file RayTracing.h.

DiffuseBRDF* _pDiffuseBRDF [protected, inherited]
 

Definition at line 39 of file ReflectionModel.h.

Referenced by PathTracing::_cast_secondary_rays(), RayTracing::_check_material(), PhotonMapping::_sample_diffuse(), RayTracing::illuminatePoint(), PhotonTracing::illuminatePoint(), LocalReflection::illuminatePoint(), PhongReflection::PhongReflection(), and PhongReflection::~PhongReflection().

Emittance* _pEmittance [protected, inherited]
 

Definition at line 41 of file ReflectionModel.h.

Referenced by LocalReflection::illuminatePoint().

unsigned _photonsPerSurface [protected]
 

Definition at line 24 of file PathTracing.h.

Referenced by PathTracing::_cast_secondary_rays().

Intersector* _pIntersector [protected, inherited]
 

Definition at line 38 of file RayTracing.h.

Referenced by RayTracing::_cast_ray(), RayTracing::illuminatePoint(), and PhotonTracing::illuminatePoint().

LocalReflection* _pLocalReflection [protected, inherited]
 

Definition at line 42 of file RayTracing.h.

Referenced by RayTracing::_check_material(), RayTracing::_direct_illumination(), and RayTracing::illuminatePoint().

Scene* _pScene [protected, inherited]
 

Definition at line 42 of file ReflectionModel.h.

Referenced by RayTracing::_cast_ray(), LocalReflection::_light_visible(), RayTracing::illuminatePoint(), PhotonTracing::illuminatePoint(), LocalReflection::illuminatePoint(), Radiosity::setScene(), and LocalReflection::setScene().

SpecularBRDF* _pSpecularBRDF [protected, inherited]
 

Definition at line 40 of file ReflectionModel.h.

Referenced by PathTracing::_cast_secondary_rays(), RayTracing::_check_material(), PhotonMapping::_sample_specular(), RayTracing::illuminatePoint(), PhotonTracing::illuminatePoint(), LocalReflection::illuminatePoint(), PhongReflection::PhongReflection(), and PhongReflection::~PhongReflection().

Texture* _pTexture [protected, inherited]
 

Definition at line 44 of file RayTracing.h.

Referenced by RayTracing::_apply_texture(), and RayTracing::_check_material().

RayIntExplorer _riExplorer [protected, inherited]
 

Definition at line 43 of file RayTracing.h.

Referenced by RayTracing::_cast_ray().


The documentation for this class was generated from the following files:
Generated on Tue Nov 21 15:11:43 2006 for gra by  doxygen 1.4.6