54 plVec3 GetPosition(plCameraEye eye = plCameraEye::Left)
const;
57 plVec3 GetDirForwards(plCameraEye eye = plCameraEye::Left)
const;
60 plVec3 GetDirUp(plCameraEye eye = plCameraEye::Left)
const;
63 plVec3 GetDirRight(plCameraEye eye = plCameraEye::Left)
const;
68 plAngle GetFovX(
float fAspectRatioWidthDivHeight)
const;
73 plAngle GetFovY(
float fAspectRatioWidthDivHeight)
const;
78 float GetDimensionX(
float fAspectRatioWidthDivHeight)
const;
83 float GetDimensionY(
float fAspectRatioWidthDivHeight)
const;
88 plVec3 GetCenterPosition()
const;
93 plVec3 GetCenterDirForwards()
const;
98 plVec3 GetCenterDirUp()
const;
103 plVec3 GetCenterDirRight()
const;
106 float GetNearPlane()
const;
109 float GetFarPlane()
const;
115 void SetCameraMode(
plCameraMode::Enum mode,
float fFovOrDim,
float fNearPlane,
float fFarPlane);
121 void SetStereoProjection(
const plMat4& mProjectionLeftEye,
const plMat4& mProjectionRightEye,
float fAspectRatioWidthDivHeight);
124 float GetFovOrDim()
const;
129 bool IsPerspective()
const;
131 bool IsOrthographic()
const;
134 bool IsStereoscopic()
const;
139 void SetViewMatrix(
const plMat4& mLookAtMatrix, plCameraEye eye = plCameraEye::Left);
149 void MoveLocally(
float fForward,
float fRight,
float fUp);
154 void MoveGlobally(
float fForward,
float fRight,
float fUp);
171 const plMat4& GetViewMatrix(plCameraEye eye = plCameraEye::Left)
const;
177 void GetProjectionMatrix(
float fAspectRatioWidthDivHeight,
plMat4& out_mProjectionMatrix, plCameraEye eye = plCameraEye::Left,
180 float GetExposure()
const;
181 void SetExposure(
float fExposure);
183 float GetAperture()
const;
184 void SetAperture(
float fAperture);
186 float GetShutterSpeed()
const;
187 void SetShutterSpeed(
float fShutterSpeed);
189 float GetISO()
const;
190 void SetISO(
float fISO);
192 float GetFocusDistance()
const;
193 void SetFocusDistance(
float fFocusDistance);
209 void CameraOrientationChanged(
bool bPosition,
bool bRotation) { ++m_uiOrientationModificationCounter; }
212 void CameraSettingsChanged();
216 void ClampRotationAngles(
bool bLocalSpace,
plAngle& forwardAxis,
plAngle& rightAxis,
plAngle& upAxis);
218 plVec3 InternalGetPosition(plCameraEye eye = plCameraEye::Left)
const;
219 plVec3 InternalGetDirForwards(plCameraEye eye = plCameraEye::Left)
const;
220 plVec3 InternalGetDirUp(plCameraEye eye = plCameraEye::Left)
const;
221 plVec3 InternalGetDirRight(plCameraEye eye = plCameraEye::Left)
const;
223 float m_fNearPlane = 0.1f;
224 float m_fFarPlane = 1000.0f;
228 float m_fFovOrDim = 90.0f;
230 float m_fShutterSpeed = 1.0f;
231 float m_fExposure = 1.0f;
232 float m_fAperture = 1.0f;
233 float m_fISO = 100.0f;
234 float m_fFocusDistance = 1.0f;
236 plVec3 m_vCameraPosition[2];
241 float m_fAspectOfPrecomputedStereoProjection = -1.0;
242 plMat4 m_mStereoProjectionMatrix[2];
244 plUInt32 m_uiSettingsModificationCounter = 0;
245 plUInt32 m_uiOrientationModificationCounter = 0;
static PL_FOUNDATION_DLL Enum Default
Holds the default value for the projection depth range on each platform. This can be overridden by re...
Definition Declarations.h:87