lux::Camera Class Reference

#include <camera.h>

Inheritance diagram for lux::Camera:
lux::EnvironmentCamera lux::ProjectiveCamera lux::RealisticCamera lux::OrthoCamera lux::PerspectiveCamera

List of all members.

Public Member Functions

 Camera (const Transform &world2cam, float hither, float yon, float sopen, float sclose, Film *film)
virtual ~Camera ()
virtual float GenerateRay (const Sample &sample, Ray *ray) const =0
virtual SWCSpectrum Sample_W (const Scene *scene, float u1, float u2, BSDF **bsdf, float *pdf) const
virtual SWCSpectrum Sample_W (const Scene *scene, const Point &p, const Normal &n, float u1, float u2, BSDF **bsdf, float *pdf, float *pdfDirect, VisibilityTester *visibility) const
virtual float Pdf (const Point &p, const Normal &n, const Vector &wi) const
virtual void GetSamplePosition (const Point &p, const Vector &wi, float *x, float *y) const
virtual bool IsVisibleFromEyes (const Scene *scene, const Point &lenP, const Point &worldP, Sample *sample_gen, Ray *ray_gen) const
virtual float GetConnectingFactor (const Point &lenP, const Point &worldP, const Vector &wo, const Normal &n) const
virtual void GetFlux2RadianceFactors (Film *film, float *factors, int xPixelCount, int yPixelCount) const
virtual bool IsDelta () const
virtual void SamplePosition (float u1, float u2, Point *p, float *pdf) const
virtual float EvalPositionPdf () const
virtual bool Intersect (const Ray &ray, Intersection *isect) const
virtual void AutoFocus (Scene *scene)

Public Attributes

Filmfilm

Protected Attributes

Transform WorldToCamera
Transform CameraToWorld
float ClipHither
float ClipYon
float ShutterOpen
float ShutterClose

Detailed Description

Definition at line 34 of file camera.h.


Constructor & Destructor Documentation

Camera::Camera ( const Transform world2cam,
float  hither,
float  yon,
float  sopen,
float  sclose,
Film film 
)
Camera::~Camera (  )  [virtual]

Definition at line 33 of file camera.cpp.

References film.


Member Function Documentation

virtual void lux::Camera::AutoFocus ( Scene scene  )  [inline, virtual]

Reimplemented in lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 52 of file camera.h.

Referenced by lux::Scene::Render().

float Camera::EvalPositionPdf (  )  const [virtual]

Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 72 of file camera.cpp.

References LUX_BUG, LUX_SEVERE, and luxError.

virtual float lux::Camera::GenerateRay ( const Sample sample,
Ray ray 
) const [pure virtual]
float Camera::GetConnectingFactor ( const Point lenP,
const Point worldP,
const Vector wo,
const Normal n 
) const [virtual]
void Camera::GetFlux2RadianceFactors ( Film film,
float *  factors,
int  xPixelCount,
int  yPixelCount 
) const [virtual]

Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 59 of file camera.cpp.

References LUX_BUG, LUX_SEVERE, and luxError.

Referenced by lux::FlexImageFilm::WriteImage().

virtual void lux::Camera::GetSamplePosition ( const Point p,
const Vector wi,
float *  x,
float *  y 
) const [inline, virtual]

Reimplemented in lux::PerspectiveCamera.

Definition at line 44 of file camera.h.

bool Camera::Intersect ( const Ray ray,
Intersection isect 
) const [virtual]

Reimplemented in lux::PerspectiveCamera.

Definition at line 77 of file camera.cpp.

References LUX_BUG, LUX_SEVERE, and luxError.

Referenced by lux::ParticleTracingIntegrator::Li().

bool Camera::IsDelta (  )  const [virtual]

Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 63 of file camera.cpp.

References LUX_BUG, LUX_SEVERE, and luxError.

Referenced by lux::ParticleTracingIntegrator::Li().

bool Camera::IsVisibleFromEyes ( const Scene scene,
const Point lenP,
const Point worldP,
Sample sample_gen,
Ray ray_gen 
) const [virtual]
virtual float lux::Camera::Pdf ( const Point p,
const Normal n,
const Vector wi 
) const [inline, virtual]

Reimplemented in lux::PerspectiveCamera.

Definition at line 43 of file camera.h.

virtual SWCSpectrum lux::Camera::Sample_W ( const Scene scene,
const Point p,
const Normal n,
float  u1,
float  u2,
BSDF **  bsdf,
float *  pdf,
float *  pdfDirect,
VisibilityTester visibility 
) const [inline, virtual]

Reimplemented in lux::PerspectiveCamera.

Definition at line 42 of file camera.h.

References LUX_BUG, LUX_SEVERE, and luxError.

virtual SWCSpectrum lux::Camera::Sample_W ( const Scene scene,
float  u1,
float  u2,
BSDF **  bsdf,
float *  pdf 
) const [inline, virtual]

Reimplemented in lux::PerspectiveCamera.

Definition at line 41 of file camera.h.

References LUX_BUG, LUX_SEVERE, and luxError.

void Camera::SamplePosition ( float  u1,
float  u2,
Point p,
float *  pdf 
) const [virtual]

Member Data Documentation

float lux::Camera::ClipHither [protected]
float lux::Camera::ClipYon [protected]
float lux::Camera::ShutterClose [protected]
float lux::Camera::ShutterOpen [protected]

The documentation for this class was generated from the following files:

Generated on 22 Jan 2010 for lux by  doxygen 1.6.1