Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ThinLensCamera.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace ph
6{
7
9{
10public:
19 float64 lensRadius,
20 float64 focalDistance,
21 const math::Vector2D& sensorSize,
22 const math::Transform* rasterToSensor,
23 const math::RigidTransform* cameraToWorld);
24
25 math::Spectrum receiveRay(const math::Vector2D& rasterCoord, Ray* out_ray) const override;
26
28 const math::Vector3R& targetPos,
29 math::Vector2R* const out_filmCoord,
30 math::Vector3R* const out_importance,
31 real* out_filmArea,
32 real* const out_pdfW) const override;
33
35
36private:
37 float64 m_lensRadius;
38 float64 m_focalDistance;
39};
40
41// In-header Implementations:
42
47
48}// end namespace ph
Represents a ray in space.
Definition Ray.h:21
const math::RigidTransform & getReceiverToWorld() const
Definition Receiver.h:60
A receiver with a rectangular sensor installed.
Definition RectangularSensorReceiver.h:19
Definition ThinLensCamera.h:9
ThinLensCamera(float64 lensRadius, float64 focalDistance, const math::Vector2D &sensorSize, const math::Transform *rasterToSensor, const math::RigidTransform *cameraToWorld)
Definition ThinLensCamera.cpp:15
void evalEmittedImportanceAndPdfW(const math::Vector3R &targetPos, math::Vector2R *const out_filmCoord, math::Vector3R *const out_importance, real *out_filmArea, real *const out_pdfW) const override
Definition ThinLensCamera.cpp:72
math::Spectrum receiveRay(const math::Vector2D &rasterCoord, Ray *out_ray) const override
Generate a ray received by the receiver.
Definition ThinLensCamera.cpp:31
const math::RigidTransform & getCameraToWorld() const
Definition ThinLensCamera.h:43
Definition RigidTransform.h:14
Definition TTristimulusSpectrum.h:11
Definition Transform.h:21
The root for all renderer implementations.
Definition EEngineProject.h:6