Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

toxic::ILight Class Reference

#include <ilight.h>

Inheritance diagram for toxic::ILight:

toxic::DirectionalLight toxic::IAreaLight toxic::PointLight toxic::Cube toxic::Mesh toxic::Ring toxic::Sphere toxic::Square List of all members.

Public Types

typedef std::vector< IrradianceSampleIrradianceSampleVector

Public Member Functions

 ILight (bool cast_shadows=true)
 m is the object space to world space transformation matrix.

virtual ~ILight ()
bool CastShadows () const
 This method returns true if the light casts shadows, false otherwise.

virtual const Color3GetPower () const=0
 Returns the emission power of this object, expressed in W.

virtual Ray GeneratePhotonRay (const Context &context) const=0
virtual void ComputeIrradiance (const Context &context, const Scene *scene, const sheep::Point3 &point, const sheep::Vector3 &geometric_normal, const sheep::Vector3 &shading_normal, const ISurfaceSampler::SampleVector &input, IrradianceSampleVector *output) const=0

Protected Attributes

bool m_cast_shadows
 Does this light cast shadows?


Member Typedef Documentation

typedef std::vector<IrradianceSample> toxic::ILight::IrradianceSampleVector
 

Definition at line 63 of file ilight.h.


Constructor & Destructor Documentation

ILight::ILight bool  cast_shadows = true  ) 
 

m is the object space to world space transformation matrix.

Definition at line 28 of file ilight.cpp.

virtual toxic::ILight::~ILight  )  [inline, virtual]
 

Definition at line 44 of file ilight.h.


Member Function Documentation

bool ILight::CastShadows  )  const [inline]
 

This method returns true if the light casts shadows, false otherwise.

Definition at line 104 of file ilight.h.

virtual void toxic::ILight::ComputeIrradiance const Context context,
const Scene scene,
const sheep::Point3 point,
const sheep::Vector3 geometric_normal,
const sheep::Vector3 shading_normal,
const ISurfaceSampler::SampleVector input,
IrradianceSampleVector output
const [pure virtual]
 

Computes irradiance due to this light source. The point and the surface normal are both expressed in world space.

Implemented in toxic::IAreaLight, toxic::PointLight, and toxic::Sphere.

Referenced by toxic::Renderer::compute_direct_illumination().

virtual Ray toxic::ILight::GeneratePhotonRay const Context context  )  const [pure virtual]
 

Implemented in toxic::IAreaLight, and toxic::PointLight.

Referenced by toxic::IPhotonTracer::emit_photons().

virtual const Color3& toxic::ILight::GetPower  )  const [pure virtual]
 

Returns the emission power of this object, expressed in W.

Implemented in toxic::IAreaLight, and toxic::PointLight.

Referenced by toxic::IPhotonTracer::emit_photons().


Member Data Documentation

bool toxic::ILight::m_cast_shadows [protected]
 

Does this light cast shadows?

Definition at line 78 of file ilight.h.


The documentation for this class was generated from the following files:
Generated on Tue May 11 01:31:57 2004 for toxic by doxygen 1.3.6