Voltray Engine Docs
Loading...
Searching...
No Matches
OrthographicCamera Class Reference

Orthographic projection camera for parallel projections. More...

#include <OrthographicCamera.h>

Inheritance diagram for OrthographicCamera:
Collaboration diagram for OrthographicCamera:

Public Member Functions

 OrthographicCamera (const std::string &name, float aspect, float nearPlane, float farPlane, float size=10.0f)
 Constructor for orthographic camera.
 
virtual CameraType GetType () const override
 
virtual std::string GetTypeName () const override
 
virtual Mat4 GetProjectionMatrix () const override
 
virtual Ray ScreenToWorldRay (float screenX, float screenY) const override
 
virtual void SetOrthographicSize (float size)
 
virtual float GetOrthographicSize () const
 
- Public Member Functions inherited from BaseCamera
 BaseCamera (const std::string &name, float aspect, float nearPlane, float farPlane)
 Constructor with basic camera parameters.
 
virtual ~BaseCamera ()
 Virtual destructor.
 
virtual Mat4 GetViewMatrix () const
 
virtual Mat4 GetViewProjectionMatrix () const
 
virtual void SetPosition (const Vec3 &position)
 
virtual void SetTarget (const Vec3 &target)
 
virtual void SetUp (const Vec3 &up)
 
virtual void LookAt (const Vec3 &position, const Vec3 &target, const Vec3 &up)
 
virtual void SetAspectRatio (float aspect)
 
virtual void SetClippingPlanes (float nearPlane, float farPlane)
 
virtual void SetName (const std::string &name)
 
const Vec3GetPosition () const
 
const Vec3GetTarget () const
 
const Vec3GetUp () const
 
Vec3 GetForward () const
 
Vec3 GetRight () const
 
float GetAspectRatio () const
 
float GetNearPlane () const
 
float GetFarPlane () const
 
const std::string & GetName () const
 
virtual void Update ()
 
virtual void ProcessInput ()
 
virtual void SetInputEnabled (bool enabled)
 
virtual void SetMouseMovementActive (bool active)
 
virtual bool IsInputEnabled () const
 
virtual void SetViewportBounds (float x, float y, float width, float height)
 
virtual bool IsMouseInViewport () const
 
virtual void SetTransform (const Mat4 &transform)
 
virtual Mat4 GetTransform () const
 
virtual void FocusOnObjectSmooth (const Vec3 &objectPosition, float duration=1.0f)
 
virtual CameraAnimatorGetAnimator ()
 
virtual bool IsAnimating () const
 

Protected Attributes

float m_Size
 
- Protected Attributes inherited from BaseCamera
std::string m_Name
 
Vec3 m_Position {0.0f, 0.0f, 3.0f}
 
Vec3 m_Target {0.0f, 0.0f, 0.0f}
 
Vec3 m_Up {0.0f, 1.0f, 0.0f}
 
float m_Aspect
 
float m_Near
 
float m_Far
 
bool m_InputEnabled = true
 
bool m_isMouseMovementActive = true
 
float m_MouseSensitivity = 0.1f
 
float m_ZoomSpeed = 1.0f
 
bool m_CursorHidden = false
 
float m_Yaw = -90.0f
 
float m_Pitch = 0.0f
 
float m_Distance = 3.0f
 
float m_ViewportX = 0.0f
 
float m_ViewportY = 0.0f
 
float m_ViewportWidth = 0.0f
 
float m_ViewportHeight = 0.0f
 
std::unique_ptr< CameraAnimatorm_Animator
 
Mat4 m_ViewMatrix
 
bool m_ViewMatrixDirty = true
 

Additional Inherited Members

- Static Public Member Functions inherited from BaseCamera
static std::unique_ptr< BaseCameraCreate (CameraType type, const std::string &name="", float aspect=16.0f/9.0f, float nearPlane=0.1f, float farPlane=1000.0f)
 
- Protected Member Functions inherited from BaseCamera
virtual void ProcessMouseInput ()
 
virtual void ProcessKeyboardInput ()
 
virtual void ProcessScrollInput ()
 
virtual void UpdatePositionFromAngles ()
 
virtual void UpdateAnglesFromPosition ()
 
virtual void Zoom (float delta)
 
virtual void FocusOnObject (const Vec3 &objectPosition)
 
void UpdateViewMatrix () const
 

Detailed Description

Orthographic projection camera for parallel projections.

Orthographic projection preserves parallel lines and doesn't apply perspective distortion. Commonly used in technical drawings, architectural plans, and 2D-style games.

Constructor & Destructor Documentation

◆ OrthographicCamera()

OrthographicCamera::OrthographicCamera ( const std::string &  name,
float  aspect,
float  nearPlane,
float  farPlane,
float  size = 10.0f 
)

Constructor for orthographic camera.

Parameters
nameCamera name
aspectAspect ratio
nearPlaneNear clipping plane
farPlaneFar clipping plane
sizeOrthographic size (default: 10)

Member Function Documentation

◆ GetOrthographicSize()

virtual float OrthographicCamera::GetOrthographicSize ( ) const
inlinevirtual

◆ GetProjectionMatrix()

Mat4 OrthographicCamera::GetProjectionMatrix ( ) const
overridevirtual

Implements BaseCamera.

◆ GetType()

virtual CameraType OrthographicCamera::GetType ( ) const
inlineoverridevirtual

Implements BaseCamera.

◆ GetTypeName()

virtual std::string OrthographicCamera::GetTypeName ( ) const
inlineoverridevirtual

Implements BaseCamera.

◆ ScreenToWorldRay()

Ray OrthographicCamera::ScreenToWorldRay ( float  screenX,
float  screenY 
) const
overridevirtual

Implements BaseCamera.

◆ SetOrthographicSize()

void OrthographicCamera::SetOrthographicSize ( float  size)
virtual

Member Data Documentation

◆ m_Size

float OrthographicCamera::m_Size
protected

The documentation for this class was generated from the following files: