Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
PinholeCamera.h
Go to the documentation of this file.
1#pragma once
2
4#include "Math/TVector3.h"
5
6namespace ph
7{
8
10{
11public:
18 const math::Vector2D& sensorSize,
19 const math::Transform* rasterToSensor,
20 const math::RigidTransform* cameraToWorld);
21
22 math::Spectrum receiveRay(const math::Vector2D& rasterCoord, Ray* out_ray) const override;
23 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;
24
25 // TODO: need Time
26 //const math::Vector3R& getPinholePos() const;
28
29private:
30 //math::Vector3R m_pinholePos;
31
32 math::Vector3R genReceiveRayDir(const math::Vector2D& rasterCoord) const;
33};
34
35// In-header Implementations:
36
37//inline const math::Vector3R& PinholeCamera::getPinholePos() const
38//{
39// return m_pinholePos;
40//}
41
46
47}// end namespace ph
Definition PinholeCamera.h:10
const math::RigidTransform & getCameraToWorld() const
Definition PinholeCamera.h:42
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 PinholeCamera.cpp:71
math::Spectrum receiveRay(const math::Vector2D &rasterCoord, Ray *out_ray) const override
Generate a ray received by the receiver.
Definition PinholeCamera.cpp:26
PinholeCamera(const math::Vector2D &sensorSize, const math::Transform *rasterToSensor, const math::RigidTransform *cameraToWorld)
Definition PinholeCamera.cpp:15
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 RigidTransform.h:14
Definition TTristimulusSpectrum.h:11
Definition Transform.h:21
The root for all renderer implementations.
Definition EEngineProject.h:6