lux::PerspectiveCamera Class Reference

#include <perspective.h>

Inheritance diagram for lux::PerspectiveCamera:
[legend]
Collaboration diagram for lux::PerspectiveCamera:
[legend]

List of all members.

Public Member Functions

 PerspectiveCamera (const Transform &world2camStart, const Transform &world2camEnd, const float Screen[4], float hither, float yon, float sopen, float sclose, int sdist, float lensr, float focald, bool autofocus, float fov, int distribution, int shape, int power, Film *film)
virtual ~PerspectiveCamera ()
virtual float GenerateRay (const Sample &sample, Ray *) const
virtual bool Sample_W (const TsPack *tspack, const Scene *scene, float u1, float u2, float u3, BSDF **bsdf, float *pdf, SWCSpectrum *We) const
virtual bool Sample_W (const TsPack *tspack, const Scene *scene, const Point &p, const Normal &n, float u1, float u2, float u3, BSDF **bsdf, float *pdf, float *pdfDirect, VisibilityTester *visibility, SWCSpectrum *We) const
virtual bool GetSamplePosition (const Point &p, const Vector &wi, float distance, float *x, float *y) const
virtual void ClampRay (Ray &ray) const
virtual bool IsDelta () const
virtual BBox Bounds () const
virtual void AutoFocus (Scene *scene)
void SampleLens (float u1, float u2, float *dx, float *dy) const
virtual PerspectiveCameraClone () const

Static Public Member Functions

static CameraCreateCamera (const Transform &world2camStart, const Transform &world2camEnd, const ParamSet &params, Film *film)

Private Attributes

Point pos
Normal normal
Transform RasterToCameraBidir
Transform WorldToRasterBidir
float fov
float posPdf
float xStart
float xEnd
float yStart
float yEnd
float R
float xPixelWidth
float yPixelHeight
float Apixel
int distribution
int shape
int power
bool autoFocus
boost::shared_ptr< Shapelens

Detailed Description

Definition at line 30 of file perspective.h.


Constructor & Destructor Documentation

PerspectiveCamera::PerspectiveCamera ( const Transform world2camStart,
const Transform world2camEnd,
const float  Screen[4],
float  hither,
float  yon,
float  sopen,
float  sclose,
int  sdist,
float  lensr,
float  focald,
bool  autofocus,
float  fov,
int  distribution,
int  shape,
int  power,
Film film 
)
virtual lux::PerspectiveCamera::~PerspectiveCamera (  )  [inline, virtual]

Definition at line 40 of file perspective.h.


Member Function Documentation

void PerspectiveCamera::AutoFocus ( Scene scene  )  [virtual]
BBox PerspectiveCamera::Bounds (  )  const [virtual]
void PerspectiveCamera::ClampRay ( Ray ray  )  const [virtual]
virtual PerspectiveCamera* lux::PerspectiveCamera::Clone (  )  const [inline, virtual]

Implements lux::Camera.

Definition at line 51 of file perspective.h.

References PerspectiveCamera().

Camera * PerspectiveCamera::CreateCamera ( const Transform world2camStart,
const Transform world2camEnd,
const ParamSet params,
Film film 
) [static]
float PerspectiveCamera::GenerateRay ( const Sample sample,
Ray ray 
) const [virtual]
bool PerspectiveCamera::GetSamplePosition ( const Point p,
const Vector wi,
float  distance,
float *  x,
float *  y 
) const [virtual]
virtual bool lux::PerspectiveCamera::IsDelta (  )  const [inline, virtual]

Reimplemented from lux::Camera.

Definition at line 46 of file perspective.h.

References lux::ProjectiveCamera::LensRadius.

bool PerspectiveCamera::Sample_W ( const TsPack tspack,
const Scene scene,
const Point p,
const Normal n,
float  u1,
float  u2,
float  u3,
BSDF **  bsdf,
float *  pdf,
float *  pdfDirect,
VisibilityTester visibility,
SWCSpectrum We 
) const [virtual]
bool PerspectiveCamera::Sample_W ( const TsPack tspack,
const Scene scene,
float  u1,
float  u2,
float  u3,
BSDF **  bsdf,
float *  pdf,
SWCSpectrum We 
) const [virtual]
void PerspectiveCamera::SampleLens ( float  u1,
float  u2,
float *  dx,
float *  dy 
) const

Member Data Documentation

Definition at line 64 of file perspective.h.

Referenced by PerspectiveCamera(), and Sample_W().

Definition at line 68 of file perspective.h.

Referenced by AutoFocus().

Definition at line 65 of file perspective.h.

Referenced by CreateCamera(), and SampleLens().

float lux::PerspectiveCamera::fov [private]

Definition at line 61 of file perspective.h.

Referenced by CreateCamera(), PerspectiveCamera(), and Sample_W().

boost::shared_ptr<Shape> lux::PerspectiveCamera::lens [private]

Definition at line 70 of file perspective.h.

Referenced by PerspectiveCamera().

Definition at line 59 of file perspective.h.

Referenced by ClampRay(), GetSamplePosition(), PerspectiveCamera(), and Sample_W().

Definition at line 58 of file perspective.h.

Referenced by GetSamplePosition(), and PerspectiveCamera().

Definition at line 62 of file perspective.h.

Referenced by PerspectiveCamera(), and Sample_W().

Definition at line 65 of file perspective.h.

Referenced by CreateCamera(), and SampleLens().

float lux::PerspectiveCamera::R [private]

Definition at line 64 of file perspective.h.

Referenced by PerspectiveCamera().

Definition at line 60 of file perspective.h.

Referenced by PerspectiveCamera(), and Sample_W().

Definition at line 65 of file perspective.h.

Referenced by CreateCamera(), and SampleLens().

Definition at line 60 of file perspective.h.

Referenced by GetSamplePosition(), and PerspectiveCamera().

Definition at line 63 of file perspective.h.

Referenced by PerspectiveCamera(), and Sample_W().

Definition at line 64 of file perspective.h.

Referenced by PerspectiveCamera().

Definition at line 63 of file perspective.h.

Referenced by PerspectiveCamera(), and Sample_W().

Definition at line 63 of file perspective.h.

Referenced by PerspectiveCamera(), and Sample_W().

Definition at line 64 of file perspective.h.

Referenced by PerspectiveCamera().

Definition at line 63 of file perspective.h.

Referenced by PerspectiveCamera(), and Sample_W().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208