#include <realistic.h>
Public Member Functions | |
RealisticCamera (const Transform &world2camStart, const Transform &world2camEnd, const float Screen[4], float hither, float yon, float sopen, float sclose, int sdist, float filmdistance, float aperture_diameter, string specfile, float filmdiag, Film *film) | |
virtual | ~RealisticCamera (void) |
virtual float | GenerateRay (const Sample &sample, Ray *) const |
virtual RealisticCamera * | Clone () const |
Static Public Member Functions | |
static Camera * | CreateCamera (const Transform &world2cam, const Transform &world2camEnd, const ParamSet ¶ms, Film *film) |
Private Member Functions | |
float | ParseLensData (const string &specfile) |
Private Attributes | |
float | filmDistance |
float | filmDist2 |
float | filmDiag |
float | apertureDiameter |
float | distToBack |
float | backAperture |
vector< boost::shared_ptr< Lens > > | lenses |
Transform | RasterToFilm |
Transform | RasterToCamera |
Transform | FilmToCamera |
Definition at line 40 of file realistic.h.
RealisticCamera::RealisticCamera | ( | const Transform & | world2camStart, | |
const Transform & | world2camEnd, | |||
const float | Screen[4], | |||
float | hither, | |||
float | yon, | |||
float | sopen, | |||
float | sclose, | |||
int | sdist, | |||
float | filmdistance, | |||
float | aperture_diameter, | |||
string | specfile, | |||
float | filmdiag, | |||
Film * | film | |||
) |
Definition at line 43 of file realistic.cpp.
References apertureDiameter, distToBack, lux::Camera::film, filmDiag, filmDist2, filmDistance, FilmToCamera, lux::Transform::GetInverse(), ParseLensData(), RasterToCamera, RasterToFilm, lux::Scale(), cimg_library::sqrt(), lux::Translate(), lux::Film::xResolution, and lux::Film::yResolution.
Referenced by Clone(), and CreateCamera().
RealisticCamera::~RealisticCamera | ( | void | ) | [virtual] |
Definition at line 72 of file realistic.cpp.
virtual RealisticCamera* lux::RealisticCamera::Clone | ( | ) | const [inline, virtual] |
Camera * RealisticCamera::CreateCamera | ( | const Transform & | world2cam, | |
const Transform & | world2camEnd, | |||
const ParamSet & | params, | |||
Film * | film | |||
) | [static] |
Definition at line 194 of file realistic.cpp.
References lux::ParamSet::FindOneFloat(), lux::ParamSet::FindOneString(), LUX_BADTOKEN, LUX_WARNING, luxError, RealisticCamera(), lux::Film::xResolution, and lux::Film::yResolution.
Implements lux::Camera.
Definition at line 74 of file realistic.cpp.
References backAperture, lux::Camera::CameraToWorld, lux::Camera::ClipHither, lux::Camera::ClipYon, lux::ConcentricSampleDisk(), lux::Ray::d, distToBack, lux::Dot(), filmDist2, lux::Camera::GetTime(), lux::Sample::imageX, lux::Sample::imageY, lenses, lux::Sample::lensU, lux::Sample::lensV, cimg_library::cimg::max(), lux::Ray::maxt, lux::Ray::mint, lux::DifferentialGeometry::nn, lux::Normalize(), lux::Ray::o, RasterToCamera, lux::Sample::time, lux::Ray::time, lux::Vector::x, lux::Normal::x, lux::Vector::y, lux::Normal::y, lux::Normal::z, and lux::Vector::z.
float RealisticCamera::ParseLensData | ( | const string & | specfile | ) | [private] |
Definition at line 133 of file realistic.cpp.
References lux::ParamSet::AddFloat(), apertureDiameter, backAperture, lenses, lux::MakeShape(), lux::r, and lux::Translate().
Referenced by RealisticCamera().
float lux::RealisticCamera::apertureDiameter [private] |
Definition at line 60 of file realistic.h.
Referenced by ParseLensData(), and RealisticCamera().
float lux::RealisticCamera::backAperture [private] |
Definition at line 60 of file realistic.h.
Referenced by GenerateRay(), and ParseLensData().
float lux::RealisticCamera::distToBack [private] |
Definition at line 60 of file realistic.h.
Referenced by GenerateRay(), and RealisticCamera().
float lux::RealisticCamera::filmDiag [private] |
Definition at line 59 of file realistic.h.
Referenced by RealisticCamera().
float lux::RealisticCamera::filmDist2 [private] |
Definition at line 59 of file realistic.h.
Referenced by GenerateRay(), and RealisticCamera().
float lux::RealisticCamera::filmDistance [private] |
Definition at line 59 of file realistic.h.
Referenced by RealisticCamera().
Transform lux::RealisticCamera::FilmToCamera [private] |
Definition at line 64 of file realistic.h.
Referenced by RealisticCamera().
vector<boost::shared_ptr<Lens> > lux::RealisticCamera::lenses [private] |
Definition at line 62 of file realistic.h.
Referenced by GenerateRay(), and ParseLensData().
Definition at line 64 of file realistic.h.
Referenced by GenerateRay(), and RealisticCamera().
Transform lux::RealisticCamera::RasterToFilm [private] |
Definition at line 64 of file realistic.h.
Referenced by RealisticCamera().