Caustics Class Reference

#include <Caustics.h>

Inheritance diagram for Caustics:

PhotonTracing PathTracing RayTracing ReflectionModel GRAObject List of all members.

Public Member Functions

 Caustics (Intersector *i=NULL)
virtual Color3f * illuminatePoint (PointEnv &)
virtual void setDiffuseBRDF (DiffuseBRDF *b)
virtual void setSpecularBRDF (SpecularBRDF *b)
virtual void setEmittance (Emittance *e)
virtual void setScene (Scene *s)
void setIntersector (Intersector *i)

Protected Types

enum  RefrDir { REFR_DIR_REFLECTION, REFR_DIR_REFRACTION }

Protected Member Functions

virtual void _illuminate (PointEnv &, unsigned, bool, Color3f &)
void _store_photon (PointEnv &, bool)
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 &)

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 14 of file Caustics.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

Caustics Intersector *  i = NULL  )  [inline]
 

Definition at line 19 of file Caustics.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, inherited]
 

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, inherited]
 

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]
 

Reimplemented from PhotonTracing.

Definition at line 6 of file Caustics.cc.

References PathTracing::_cast_secondary_rays(), RayTracing::_check_material(), RayTracing::_check_point_of_intersection(), RayTracing::_maxDepth, and PhotonTracing::_store_photon().

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().

void _store_photon PointEnv &  ,
bool 
[protected, inherited]
 

Definition at line 7 of file PhotonTracing.cc.

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

Color3f * illuminatePoint PointEnv &   )  [virtual, inherited]
 

Reimplemented from RayTracing.

Definition at line 79 of file PhotonTracing.cc.

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

Referenced by PhotonMapShader::distributeEnergy().

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, inherited]
 

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