#include <PhotonMapShader.h>
Inheritance diagram for PhotonMapShader:
Public Types | |
enum | Mapping { SCENE_MAPS, MAPS_PER_SHAPE } |
Public Member Functions | |
PhotonMapShader (PhotonTracing *m, Caustics *c, PhotonMapping *n, DiffuseBRDF *db, SpecularBRDF *sb, unsigned p, Mapping mapping, bool u) | |
virtual void | setScene (Scene *o) |
virtual void | distributeEnergy (void) |
virtual bool | setRenderedShape (SceneGraphObject *pShape, const Matrix4 *pTrMat) |
virtual Color3f * | illuminatePoint (const Vector3 &location, const Vector3 &normal, const Vector3 &eyeDir, float eyeDist, double *pNV, const Matrix4 *pTrMat) |
Protected Member Functions | |
void | _create_scene_maps (List< PhotonMapEnergy > &, List< SceneGraphObject > &) |
void | _create_maps_per_shape (List< PhotonMapEnergy > &, List< SceneGraphObject > &) |
PointEnv * | _emit_global_photon (const Vector3 &, const Vector3 &) |
PointEnv * | _emit_caustic_photon (const Vector3 &, const Vector3 &) |
Protected Attributes | |
PhotonTracing * | _pPhotonTracing |
Caustics * | _pCausticsEmittion |
LightArray * | _pLights |
unsigned | _photonsPerLight |
Mapping | _mapping |
bool | _userDefinedBehaviour |
ReflectionModel * | _pReflectionModel |
SceneGraphObject * | _pShape |
Scene * | _pScene |
DiffuseBRDF * | _pDefaultDiffBRDF |
SpecularBRDF * | _pDefaultSpecBRDF |
Definition at line 21 of file PhotonMapShader.h.
|
Definition at line 23 of file PhotonMapShader.h. |
|
Constructor.
Definition at line 57 of file PhotonMapShader.h. |
|
Definition at line 69 of file PhotonMapShader.cc. References Shader::_pScene, PhotonMapShader::_userDefinedBehaviour, and Scene::root(). Referenced by PhotonMapShader::distributeEnergy(). |
|
Definition at line 8 of file PhotonMapShader.cc. References Shader::_pScene, PhotonMapShader::_userDefinedBehaviour, and Scene::root(). Referenced by PhotonMapShader::distributeEnergy(). |
|
Definition at line 157 of file PhotonMapShader.cc. References Shader::_pScene, and Scene::root(). |
|
Definition at line 125 of file PhotonMapShader.cc. References Shader::_pScene, and Scene::root(). Referenced by PhotonMapShader::distributeEnergy(). |
|
View-independent global energy distribution in the whole scene (first stage of the global illumination process) Reimplemented from RTShader. Definition at line 190 of file PhotonMapShader.cc. References PhotonMapShader::_create_maps_per_shape(), PhotonMapShader::_create_scene_maps(), PhotonMapShader::_emit_global_photon(), PhotonMapShader::_mapping, PhotonMapShader::_pCausticsEmittion, Shader::_pDefaultDiffBRDF, Shader::_pDefaultSpecBRDF, PhotonMapShader::_photonsPerLight, PhotonMapShader::_pLights, PhotonMapShader::_pPhotonTracing, Shader::_pScene, PhotonTracing::illuminatePoint(), PhotonMapShader::MAPS_PER_SHAPE, Scene::root(), PhotonMapShader::SCENE_MAPS, RayTracing::setDiffuseBRDF(), RayTracing::setScene(), and RayTracing::setSpecularBRDF(). |
|
View-restricted illumination of individual points on surface (second stage of the global illumination process). Two combinations of parametters are possible: 1) Vectors are not transformed and the transformation matrix is identical to the matrix of the setRenderedShape() function. 2) Vectors are already transformed and the matrix is NULL.
Implements Shader. Definition at line 5 of file RTShader.cc. References Shader::_pReflectionModel, Shader::_pShape, and ReflectionModel::illuminatePoint(). |
|
Sets the shape of interest used for per-surface point illumination, see illuminatePoint().
Reimplemented from Shader. Definition at line 97 of file PhotonMapShader.h. References Shader::setRenderedShape(). |
|
Sets the scene for energy distribution, see distributeEnergy().
Reimplemented from Shader. Definition at line 78 of file PhotonMapShader.h. References Shader::setScene(). |
|
Definition at line 33 of file PhotonMapShader.h. Referenced by PhotonMapShader::distributeEnergy(). |
|
Definition at line 30 of file PhotonMapShader.h. Referenced by PhotonMapShader::distributeEnergy(). |
|
Definition at line 39 of file Shader.h. Referenced by PhotonMapShader::distributeEnergy(). |
|
Definition at line 40 of file Shader.h. Referenced by PhotonMapShader::distributeEnergy(). |
|
Definition at line 32 of file PhotonMapShader.h. Referenced by PhotonMapShader::distributeEnergy(). |
|
Definition at line 31 of file PhotonMapShader.h. Referenced by PhotonMapShader::distributeEnergy(). |
|
Definition at line 29 of file PhotonMapShader.h. Referenced by PhotonMapShader::distributeEnergy(). |
|
Definition at line 36 of file Shader.h. Referenced by RadShader::distributeEnergy(), and RTShader::illuminatePoint(). |
|
Definition at line 38 of file Shader.h. Referenced by PhotonMapShader::_create_maps_per_shape(), PhotonMapShader::_create_scene_maps(), PhotonMapShader::_emit_caustic_photon(), PhotonMapShader::_emit_global_photon(), PhotonMapShader::distributeEnergy(), and RadShader::setScene(). |
|
Definition at line 37 of file Shader.h. Referenced by RTShader::illuminatePoint(), and GLShader::setRenderedShape(). |
|
Definition at line 34 of file PhotonMapShader.h. Referenced by PhotonMapShader::_create_maps_per_shape(), and PhotonMapShader::_create_scene_maps(). |