#include <realistic.h>
Public Member Functions | |
RealisticCamera (const Transform &world2cam, const float Screen[4], float hither, float yon, float sopen, float sclose, float filmdistance, float aperture_diameter, string specfile, float filmdiag, Film *film) | |
~RealisticCamera (void) | |
float | GenerateRay (const Sample &sample, Ray *) const |
Static Public Member Functions | |
static Camera * | CreateCamera (const ParamSet ¶ms, const Transform &world2cam, 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 39 of file realistic.h.
RealisticCamera::RealisticCamera | ( | const Transform & | world2cam, | |
const float | Screen[4], | |||
float | hither, | |||
float | yon, | |||
float | sopen, | |||
float | sclose, | |||
float | filmdistance, | |||
float | aperture_diameter, | |||
string | specfile, | |||
float | filmdiag, | |||
Film * | film | |||
) |
Definition at line 42 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 CreateCamera().
RealisticCamera::~RealisticCamera | ( | void | ) |
Definition at line 70 of file realistic.cpp.
Camera * RealisticCamera::CreateCamera | ( | const ParamSet & | params, | |
const Transform & | world2cam, | |||
Film * | film | |||
) | [static] |
Definition at line 192 of file realistic.cpp.
References lux::ParamSet::FindOneFloat(), lux::ParamSet::FindOneString(), RealisticCamera(), lux::Film::xResolution, and lux::Film::yResolution.
Implements lux::Camera.
Definition at line 72 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::Sample::imageX, lux::Sample::imageY, INFINITY, lenses, lux::Sample::lensU, lux::Sample::lensV, Lerp(), cimg_library::cimg::max(), lux::Ray::maxt, lux::Ray::mint, lux::DifferentialGeometry::nn, lux::Normalize(), lux::Ray::o, RasterToCamera, lux::Camera::ShutterClose, lux::Camera::ShutterOpen, 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 131 of file realistic.cpp.
References lux::ParamSet::AddFloat(), apertureDiameter, backAperture, lenses, lux::MakeShape(), and lux::Translate().
Referenced by RealisticCamera().
float lux::RealisticCamera::apertureDiameter [private] |
Definition at line 54 of file realistic.h.
Referenced by ParseLensData(), and RealisticCamera().
float lux::RealisticCamera::backAperture [private] |
Definition at line 54 of file realistic.h.
Referenced by GenerateRay(), and ParseLensData().
float lux::RealisticCamera::distToBack [private] |
Definition at line 54 of file realistic.h.
Referenced by GenerateRay(), and RealisticCamera().
float lux::RealisticCamera::filmDiag [private] |
Definition at line 53 of file realistic.h.
Referenced by RealisticCamera().
float lux::RealisticCamera::filmDist2 [private] |
Definition at line 53 of file realistic.h.
Referenced by GenerateRay(), and RealisticCamera().
float lux::RealisticCamera::filmDistance [private] |
Definition at line 53 of file realistic.h.
Referenced by RealisticCamera().
Transform lux::RealisticCamera::FilmToCamera [private] |
Definition at line 58 of file realistic.h.
Referenced by RealisticCamera().
vector<boost::shared_ptr<Lens> > lux::RealisticCamera::lenses [private] |
Definition at line 56 of file realistic.h.
Referenced by GenerateRay(), and ParseLensData().
Definition at line 58 of file realistic.h.
Referenced by GenerateRay(), and RealisticCamera().
Transform lux::RealisticCamera::RasterToFilm [private] |
Definition at line 58 of file realistic.h.
Referenced by RealisticCamera().