#include <LocalShader.h>
Inheritance diagram for LocalShader:
Public Member Functions | |
LocalShader (ReflectionModel *m, DiffuseBRDF *db, SpecularBRDF *sb, bool e) | |
virtual void | distributeEnergy (void) |
virtual void | setScene (Scene *o) |
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)=0 |
Protected Attributes | |
bool | _exploitEnergy |
whether to exploit precomputed energy coats | |
ReflectionModel * | _pReflectionModel |
SceneGraphObject * | _pShape |
Scene * | _pScene |
DiffuseBRDF * | _pDefaultDiffBRDF |
SpecularBRDF * | _pDefaultSpecBRDF |
Definition at line 17 of file LocalShader.h.
|
Constructor.
Definition at line 31 of file LocalShader.h. |
|
View-independent global energy distribution in the whole scene (first stage of the global illumination process) Implements Shader. Definition at line 41 of file LocalShader.h. |
|
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.
Implemented in GLShader, RadShader, and RTShader. Referenced by RTRender::_render_pixel_point(), and RadShader::illuminatePoint(). |
|
Sets the shape of interest used for per-surface point illumination, see illuminatePoint().
Reimplemented in GLShader, PhotonMapShader, and RadShader. Definition at line 85 of file Shader.h. Referenced by GLRender::_render(), GLBVRender::_render(), RTRender::_render_pixel_point(), RadShader::setRenderedShape(), and PhotonMapShader::setRenderedShape(). |
|
Sets the scene for energy distribution, see distributeEnergy().
Reimplemented in PhotonMapShader, and RadShader. Definition at line 67 of file Shader.h. Referenced by PhotonMapShader::setScene(). |
|
whether to exploit precomputed energy coats
Definition at line 19 of file LocalShader.h. Referenced by GLShader::setRenderedShape(). |
|
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 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(). |