#include <camera.h>

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 | |
| Film * | film |
Protected Attributes | |
| Transform | WorldToCamera |
| Transform | CameraToWorld |
| float | ClipHither |
| float | ClipYon |
| float | ShutterOpen |
| float | ShutterClose |
Definition at line 34 of file camera.h.
| Camera::Camera | ( | const Transform & | world2cam, | |
| float | hither, | |||
| float | yon, | |||
| float | sopen, | |||
| float | sclose, | |||
| Film * | film | |||
| ) |
Definition at line 36 of file camera.cpp.
References CameraToWorld, ClipHither, ClipYon, film, lux::Transform::GetInverse(), lux::Transform::HasScale(), LUX_UNIMPLEMENT, LUX_WARNING, luxError, ShutterClose, ShutterOpen, and WorldToCamera.
| Camera::~Camera | ( | ) | [virtual] |
| 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.
Implemented in lux::EnvironmentCamera, lux::OrthoCamera, lux::PerspectiveCamera, and lux::RealisticCamera.
Referenced by lux::RenderThread::render().
| float Camera::GetConnectingFactor | ( | const Point & | lenP, | |
| const Point & | worldP, | |||
| const Vector & | wo, | |||
| const Normal & | n | |||
| ) | const [virtual] |
Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.
Definition at line 54 of file camera.cpp.
References LUX_BUG, LUX_SEVERE, and luxError.
Referenced by lux::Path2Integrator::Li(), and lux::ParticleTracingIntegrator::Li().
| 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().
| 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] |
Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.
Definition at line 49 of file camera.cpp.
References LUX_BUG, LUX_SEVERE, and luxError.
Referenced by lux::Path2Integrator::Li(), and lux::ParticleTracingIntegrator::Li().
| 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 * | ||||
| ) | 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 * | ||||
| ) | const [virtual] |
Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.
Definition at line 68 of file camera.cpp.
References LUX_BUG, LUX_SEVERE, and luxError.
Referenced by lux::Path2Integrator::Li(), and lux::ParticleTracingIntegrator::Li().
Transform lux::Camera::CameraToWorld [protected] |
Definition at line 58 of file camera.h.
Referenced by lux::PerspectiveCamera::AutoFocus(), lux::OrthoCamera::AutoFocus(), Camera(), lux::EnvironmentCamera::EnvironmentCamera(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::EnvironmentCamera::GenerateRay(), lux::PerspectiveCamera::GetSamplePosition(), lux::PerspectiveCamera::IsVisibleFromEyes(), lux::PerspectiveCamera::PerspectiveCamera(), lux::PerspectiveCamera::Sample_W(), and lux::PerspectiveCamera::SamplePosition().
float lux::Camera::ClipHither [protected] |
Definition at line 59 of file camera.h.
Referenced by lux::PerspectiveCamera::AutoFocus(), lux::OrthoCamera::AutoFocus(), Camera(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), and lux::EnvironmentCamera::GenerateRay().
float lux::Camera::ClipYon [protected] |
Definition at line 59 of file camera.h.
Referenced by lux::PerspectiveCamera::AutoFocus(), lux::OrthoCamera::AutoFocus(), Camera(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), lux::EnvironmentCamera::GenerateRay(), and lux::PerspectiveCamera::IsVisibleFromEyes().
Definition at line 55 of file camera.h.
Referenced by lux::PerspectiveCamera::AutoFocus(), lux::OrthoCamera::AutoFocus(), Camera(), lux::Scene::DisplayInterval(), lux::Scene::FilmXres(), lux::Scene::FilmYres(), lux::EnvironmentCamera::GenerateRay(), lux::EnvironmentCamera::GenerateSample(), lux::ProjectiveCamera::GenerateSample(), lux::Scene::GetFramebuffer(), lux::ParticleTracingIntegrator::Preprocess(), lux::ProjectiveCamera::ProjectiveCamera(), lux::RealisticCamera::RealisticCamera(), lux::Scene::Render(), lux::Scene::Statistics_SamplesPPx(), lux::Context::transmitFilm(), lux::RenderFarm::updateFilm(), lux::Scene::UpdateFramebuffer(), and ~Camera().
float lux::Camera::ShutterClose [protected] |
Definition at line 60 of file camera.h.
Referenced by Camera(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), and lux::EnvironmentCamera::GenerateRay().
float lux::Camera::ShutterOpen [protected] |
Definition at line 60 of file camera.h.
Referenced by Camera(), lux::RealisticCamera::GenerateRay(), lux::PerspectiveCamera::GenerateRay(), lux::OrthoCamera::GenerateRay(), and lux::EnvironmentCamera::GenerateRay().
Transform lux::Camera::WorldToCamera [protected] |
Definition at line 58 of file camera.h.
Referenced by Camera(), lux::PerspectiveCamera::GenerateRay(), lux::EnvironmentCamera::GenerateSample(), lux::PerspectiveCamera::Intersect(), lux::PerspectiveCamera::IsVisibleFromEyes(), lux::OrthoCamera::IsVisibleFromEyes(), and lux::ProjectiveCamera::ProjectiveCamera().
1.5.9