#include <environment.h>
Public Member Functions | |
EnvironmentCamera (const Transform &world2cam, float hither, float yon, float sopen, float sclose, Film *film) | |
float | GenerateRay (const Sample &sample, Ray *) const |
bool | IsVisibleFromEyes (const Scene *scene, const Point &lenP, const Point &worldP, Sample *sample_gen, Ray *ray_gen) const |
float | GetConnectingFactor (const Point &lenP, const Point &worldP, const Vector &wo, const Normal &n) const |
void | GetFlux2RadianceFactors (Film *film, float *factors, int xPixelCount, int yPixelCount) const |
bool | IsDelta () const |
void | SamplePosition (float u1, float u2, Point *p, float *pdf) const |
float | EvalPositionPdf () const |
Static Public Member Functions | |
static Camera * | CreateCamera (const ParamSet ¶ms, const Transform &world2cam, Film *film) |
Private Member Functions | |
bool | GenerateSample (const Point &p, Sample *sample) const |
Private Attributes | |
Point | rayOrigin |
Definition at line 30 of file environment.h.
EnvironmentCamera::EnvironmentCamera | ( | const Transform & | world2cam, | |
float | hither, | |||
float | yon, | |||
float | sopen, | |||
float | sclose, | |||
Film * | film | |||
) |
Definition at line 34 of file environment.cpp.
References lux::Camera::CameraToWorld, and rayOrigin.
Referenced by CreateCamera().
Camera * EnvironmentCamera::CreateCamera | ( | const ParamSet & | params, | |
const Transform & | world2cam, | |||
Film * | film | |||
) | [static] |
Definition at line 120 of file environment.cpp.
References EnvironmentCamera(), lux::ParamSet::FindFloat(), lux::ParamSet::FindOneFloat(), cimg_library::cimg::max(), memcpy(), cimg_library::cimg::min(), lux::Film::xResolution, and lux::Film::yResolution.
Referenced by lux::MakeCamera().
float EnvironmentCamera::EvalPositionPdf | ( | ) | const [virtual] |
Implements lux::Camera.
Definition at line 40 of file environment.cpp.
References lux::Camera::CameraToWorld, lux::Camera::ClipHither, lux::Camera::ClipYon, lux::Ray::d, lux::Camera::film, lux::Sample::imageX, lux::Sample::imageY, Lerp(), M_PI, lux::Ray::maxt, lux::Ray::mint, lux::Ray::o, rayOrigin, lux::Camera::ShutterClose, lux::Camera::ShutterOpen, lux::Sample::time, lux::Ray::time, lux::Film::xResolution, and lux::Film::yResolution.
Referenced by IsVisibleFromEyes().
Definition at line 55 of file environment.cpp.
References lux::Camera::film, lux::Sample::imageX, lux::Sample::imageY, INV_PI, INV_TWOPI, M_PI, cimg_library::cimg::min(), lux::Normalize(), rayOrigin, lux::Camera::WorldToCamera, lux::Vector::x, lux::Film::xResolution, lux::Vector::y, lux::Film::yResolution, and lux::Vector::z.
Referenced by IsVisibleFromEyes().
float EnvironmentCamera::GetConnectingFactor | ( | const Point & | lenP, | |
const Point & | worldP, | |||
const Vector & | wo, | |||
const Normal & | n | |||
) | const [virtual] |
Reimplemented from lux::Camera.
Definition at line 95 of file environment.cpp.
References lux::AbsDot(), and lux::DistanceSquared().
void EnvironmentCamera::GetFlux2RadianceFactors | ( | Film * | film, | |
float * | factors, | |||
int | xPixelCount, | |||
int | yPixelCount | |||
) | const [virtual] |
Reimplemented from lux::Camera.
Definition at line 99 of file environment.cpp.
References M_PI, lux::Film::xResolution, and lux::Film::yResolution.
bool lux::EnvironmentCamera::IsDelta | ( | ) | const [inline, virtual] |
bool EnvironmentCamera::IsVisibleFromEyes | ( | const Scene * | scene, | |
const Point & | lenP, | |||
const Point & | worldP, | |||
Sample * | sample_gen, | |||
Ray * | ray_gen | |||
) | const [virtual] |
Reimplemented from lux::Camera.
Definition at line 82 of file environment.cpp.
References lux::Distance(), GenerateRay(), GenerateSample(), lux::Scene::IntersectP(), lux::Ray::maxt, lux::Ray::o, and RAY_EPSILON.
void EnvironmentCamera::SamplePosition | ( | float | u1, | |
float | u2, | |||
Point * | p, | |||
float * | ||||
) | const [virtual] |
Reimplemented from lux::Camera.
Definition at line 110 of file environment.cpp.
References rayOrigin.
Point lux::EnvironmentCamera::rayOrigin [private] |
Definition at line 77 of file environment.h.
Referenced by EnvironmentCamera(), GenerateRay(), GenerateSample(), and SamplePosition().