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

toxic::ISurfaceSampler Class Reference

#include <isurfacesampler.h>

Inheritance diagram for toxic::ISurfaceSampler:

toxic::RandomSurfaceSampler toxic::RegularSurfaceSampler toxic::StratifiedSurfaceSampler List of all members.

Public Types

typedef std::vector< sheep::Point2SampleVector

Public Member Functions

 ISurfaceSampler (int size)
virtual ~ISurfaceSampler ()
int GetSampleCount () const
sheep::Real GetInvSampleCount () const
virtual void GenerateNewSamples (const Context &context)=0
 Generates a fresh sample vector.


Public Attributes

SampleVector m_samples

Protected Attributes

int m_size
 Sample count.

sheep::Real m_inv_size
 Reciprocal of the sample count.


Detailed Description

A surface sampler implements a sampling strategy and holds a vector of samples which can be refreshed by calling the GenerateNewSamples() method.

Definition at line 39 of file isurfacesampler.h.


Member Typedef Documentation

typedef std::vector<sheep::Point2> toxic::ISurfaceSampler::SampleVector
 

Definition at line 41 of file isurfacesampler.h.

Referenced by toxic::Sphere::ComputeIrradiance(), toxic::PointLight::ComputeIrradiance(), and toxic::IAreaLight::ComputeIrradiance().


Constructor & Destructor Documentation

ISurfaceSampler::ISurfaceSampler int  size  ) 
 

Definition at line 29 of file isurfacesampler.cpp.

References m_inv_size, m_samples, and m_size.

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

Definition at line 46 of file isurfacesampler.h.


Member Function Documentation

virtual void toxic::ISurfaceSampler::GenerateNewSamples const Context context  )  [pure virtual]
 

Generates a fresh sample vector.

Implemented in toxic::RandomSurfaceSampler, toxic::RegularSurfaceSampler, and toxic::StratifiedSurfaceSampler.

Referenced by toxic::Renderer::compute_direct_illumination(), toxic::Renderer::final_gathering(), and toxic::Renderer::render_pixel_supersampling().

sheep::Real ISurfaceSampler::GetInvSampleCount  )  const [inline]
 

Definition at line 87 of file isurfacesampler.h.

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

int ISurfaceSampler::GetSampleCount  )  const [inline]
 

Definition at line 82 of file isurfacesampler.h.

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


Member Data Documentation

sheep::Real toxic::ISurfaceSampler::m_inv_size [protected]
 

Reciprocal of the sample count.

Definition at line 56 of file isurfacesampler.h.

Referenced by ISurfaceSampler().

SampleVector toxic::ISurfaceSampler::m_samples
 

Definition at line 43 of file isurfacesampler.h.

Referenced by toxic::Renderer::compute_direct_illumination(), toxic::Renderer::final_gathering(), ISurfaceSampler(), and toxic::Renderer::render_pixel_supersampling().

int toxic::ISurfaceSampler::m_size [protected]
 

Sample count.

Reimplemented in toxic::RandomSurfaceSampler.

Definition at line 55 of file isurfacesampler.h.

Referenced by ISurfaceSampler().


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