#include <EditorCamera.h>
◆ EditorCamera() [1/2]
| Vesper::EditorCamera::EditorCamera |
( |
| ) |
|
◆ EditorCamera() [2/2]
| Vesper::EditorCamera::EditorCamera |
( |
float | fov, |
|
|
float | aspectRation, |
|
|
float | nearClip, |
|
|
float | farClip ) |
◆ CalculatePosition()
| glm::vec3 Vesper::EditorCamera::CalculatePosition |
( |
| ) |
const |
|
private |
120 {
122 }
glm::vec3 GetForwardDirection() const
Definition EditorCamera.cpp:133
float m_Distance
Definition EditorCamera.h:67
glm::vec3 m_FocalPoint
Definition EditorCamera.h:63
◆ GetDistance()
| float Vesper::EditorCamera::GetDistance |
( |
| ) |
const |
|
inline |
◆ GetForwardDirection()
| glm::vec3 Vesper::EditorCamera::GetForwardDirection |
( |
| ) |
const |
133 {
134 return glm::rotate(
GetOrientation(), glm::vec3(0.0f, 0.0f, -1.0f));
135 }
glm::quat GetOrientation() const
Definition EditorCamera.cpp:137
◆ GetOrientation()
| glm::quat Vesper::EditorCamera::GetOrientation |
( |
| ) |
const |
137 {
139 }
float m_Yaw
Definition EditorCamera.h:68
float m_Pitch
Definition EditorCamera.h:68
◆ GetPitch()
| float Vesper::EditorCamera::GetPitch |
( |
| ) |
const |
|
inline |
◆ GetPosition()
| const glm::vec3 & Vesper::EditorCamera::GetPosition |
( |
| ) |
const |
|
inline |
glm::vec3 m_Position
Definition EditorCamera.h:62
◆ GetRightDirection()
| glm::vec3 Vesper::EditorCamera::GetRightDirection |
( |
| ) |
const |
129 {
130 return glm::rotate(
GetOrientation(), glm::vec3(1.0f, 0.0f, 0.0f));
131 }
◆ GetUpDirection()
| glm::vec3 Vesper::EditorCamera::GetUpDirection |
( |
| ) |
const |
124 {
125
126 return glm::rotate(
GetOrientation(), glm::vec3(0.0f, 1.0f, 0.0f));
127 }
◆ GetViewMatrix()
| const glm::mat4 & Vesper::EditorCamera::GetViewMatrix |
( |
| ) |
const |
|
inline |
glm::mat4 m_ViewMatrix
Definition EditorCamera.h:61
◆ GetViewProjection()
| const glm::mat4 & Vesper::EditorCamera::GetViewProjection |
( |
| ) |
const |
|
inline |
glm::mat4 m_Projection
Definition Camera.h:17
◆ GetYaw()
| float Vesper::EditorCamera::GetYaw |
( |
| ) |
const |
|
inline |
◆ MousePan()
| void Vesper::EditorCamera::MousePan |
( |
const glm::vec2 & | delta | ) |
|
|
private |
96 {
100 }
std::pair< float, float > PanSpeed() const
Definition EditorCamera.cpp:21
glm::vec3 GetRightDirection() const
Definition EditorCamera.cpp:129
glm::vec3 GetUpDirection() const
Definition EditorCamera.cpp:124
◆ MouseRotate()
| void Vesper::EditorCamera::MouseRotate |
( |
const glm::vec2 & | delta | ) |
|
|
private |
◆ MouseZoom()
| void Vesper::EditorCamera::MouseZoom |
( |
float | delta | ) |
|
|
private |
◆ OnEvent()
| void Vesper::EditorCamera::OnEvent |
( |
Event & | e | ) |
|
66 {
67 EventDispatcher dispatcher(e);
69 }
#define VZ_BIND_EVENT_FN(fn)
Binds a member function as an event handler.
Definition Defines_Macros.h:17
bool OnMouseScroll(MouseScrolledEvent &e)
Definition EditorCamera.cpp:87
References Vesper::EventDispatcher::EventDispatcher(), and OnMouseScroll().
◆ OnMouseScroll()
◆ OnUpdate()
| void Vesper::EditorCamera::OnUpdate |
( |
Timestep | ts | ) |
|
◆ PanSpeed()
| std::pair< float, float > Vesper::EditorCamera::PanSpeed |
( |
| ) |
const |
|
private |
22 {
24 float xFactor = 0.0366f * (x * x) - 0.1778f * x + 0.3021f;
25
27 float yFactor = 0.0366f * (y * y) - 0.1778f * y + 0.3021f;
28
29 return { xFactor, yFactor };
30 }
float m_ViewportHeight
Definition EditorCamera.h:70
float m_ViewportWidth
Definition EditorCamera.h:70
◆ RotationSpeed()
| float Vesper::EditorCamera::RotationSpeed |
( |
| ) |
const |
|
private |
◆ SetDistance()
| void Vesper::EditorCamera::SetDistance |
( |
float | distance | ) |
|
|
inline |
◆ SetPitch()
| void Vesper::EditorCamera::SetPitch |
( |
float | pitch | ) |
|
|
inline |
◆ SetPosition()
| void Vesper::EditorCamera::SetPosition |
( |
const glm::vec3 & | position | ) |
|
◆ SetViewportSize()
| void Vesper::EditorCamera::SetViewportSize |
( |
float | width, |
|
|
float | height ) |
|
inline |
◆ SetYaw()
| void Vesper::EditorCamera::SetYaw |
( |
float | yaw | ) |
|
|
inline |
◆ UpdateProjection()
| void Vesper::EditorCamera::UpdateProjection |
( |
| ) |
|
|
private |
◆ UpdateView()
| void Vesper::EditorCamera::UpdateView |
( |
| ) |
|
|
private |
◆ ZoomSpeed()
| float Vesper::EditorCamera::ZoomSpeed |
( |
| ) |
const |
|
private |
38 {
40 distance = std::max(distance, 0.0f);
41 float speed = distance * distance;
42 speed = std::min(speed, 100.0f);
43 return speed;
44 }
References m_Distance.
Referenced by MouseZoom().
◆ m_AspectRatio
| float Vesper::EditorCamera::m_AspectRatio = 1.778f |
|
private |
◆ m_Distance
| float Vesper::EditorCamera::m_Distance = 10.0f |
|
private |
◆ m_FarClip
| float Vesper::EditorCamera::m_FarClip = 1000.0f |
|
private |
◆ m_FocalPoint
| glm::vec3 Vesper::EditorCamera::m_FocalPoint = glm::vec3(1.0f) |
|
private |
◆ m_FOV
| float Vesper::EditorCamera::m_FOV = 45.0f |
|
private |
◆ m_InitialMousePosition
| glm::vec2 Vesper::EditorCamera::m_InitialMousePosition = { 0.0f, 0.0f } |
|
private |
◆ m_NearClip
| float Vesper::EditorCamera::m_NearClip = 0.1f |
|
private |
◆ m_Pitch
| float Vesper::EditorCamera::m_Pitch = 0.0f |
|
private |
◆ m_Position
| glm::vec3 Vesper::EditorCamera::m_Position = { 0.0f, 0.0f, 0.0f } |
|
private |
◆ m_ViewMatrix
| glm::mat4 Vesper::EditorCamera::m_ViewMatrix |
|
private |
◆ m_ViewportHeight
| float Vesper::EditorCamera::m_ViewportHeight = 720 |
|
private |
◆ m_ViewportWidth
| float Vesper::EditorCamera::m_ViewportWidth = 1280 |
|
private |
◆ m_Yaw
| float Vesper::EditorCamera::m_Yaw = 0.0f |
|
private |
The documentation for this class was generated from the following files: