31 #include "Utilities/ECS/Component.h" 32 #include "Utilities/Memory/Memory.h" 33 #include "Platform/GraphicAPI.h" 34 #include "CameraBase.h" 38 enum class CameraType : uint8_t
52 void Init(
int width,
int height);
53 void Resize(
int width,
int height);
61 UniqueRef<CameraRender> renderBuffers = MakeUnique<CameraRender>();
64 Vector3 direction = { 1.0f, 0.0f, 0.0f };
65 Vector3 up = { 0.0f, 1.0f, 0.0f };
66 Vector3 forward ={ 0.0f, 0.0f, 1.0f };
67 Vector3 right = { 1.0f, 0.0f, 0.0f };
68 float verticalAngle = 0.0f;
69 float horizontalAngle = 0.0f;
70 float exposure = 1.0f;
71 float bloomWeight = 0.5f;
72 float moveSpeed = 1.0f;
73 float rotateSpeed = 10.0f;
75 void SubmitMatrixProjectionChanges()
const;
77 uint8_t bloomIterations = 6;
78 CameraType cameraType = CameraType::PERSPECTIVE;
79 bool renderingEnabled =
true;
91 const T& GetCamera()
const;
92 void SetCameraType(CameraType type);
93 CameraType GetCameraType()
const;
95 const Matrix4x4& GetMatrix(
const Vector3& position)
const;
96 Matrix4x4 GetStaticMatrix()
const;
102 void ListenWindowResizeEvent();
103 void ResizeRenderTexture(
size_t width,
size_t height);
105 bool IsRendered()
const;
106 void ToggleRendering(
bool value);
108 const Vector3& GetDirection()
const;
109 void SetDirection(
const Vector3& direction);
110 Vector3 GetDirectionUp()
const;
111 float GetHorizontalAngle()
const;
112 float GetVerticalAngle()
const;
113 void SetBloomWeight(
float weight);
114 float GetBloomWeight()
const;
115 size_t GetBloomIterations()
const;
116 void SetBloomIterations(
size_t iterCount);
117 float GetExposure()
const;
118 void SetExposure(
float exp);
119 float GetMoveSpeed()
const;
120 void SetMoveSpeed(
float speed);
121 float GetRotateSpeed()
const;
122 void SetRotateSpeed(
float speed);
125 void SetForwardVector(
const Vector3& forward);
126 void SetUpVector(
const Vector3& up);
127 void SetRightVector(
const Vector3& right);
129 const Vector3& GetForwardVector()
const;
130 const Vector3& GetUpVector()
const;
131 const Vector3& GetRightVector()
const;
Definition: AbstractFactory.h:61
Definition: CameraBase.h:35
Definition: CameraController.h:45
Definition: CameraController.h:57
Definition: Application.cpp:49