47 matr4 ViewProjection {};
51 float FieldOfView { 0.1f };
52 float ProjectionDistance { 0.1f };
53 float FarClip { 1000.0f };
55 int ViewportHeight {};
56 float ViewportProjectionWidth {};
57 float ViewportProjectionHeight {};
61 vec3 LookDirection {};
62 vec3 RightDirection {};
167 void InvalidateViewProjection();
175 void InvalidateProjection();
183 void InvalidateView();
192 void InvalidateBuffers();
199 void ResizeMainFrameBuffer();
200 void ResizeGBuffer();
201 void ResizeHDRFrameBuffer();
202 void ResizeBlurFrameBuffers();
Topology object basis class for mesh creating implementation module.
camera & Move(const vec3 &MoveVector)
const vec3 & GetUpDirection() const
int GetViewportWidth() const
const shared< frame_buffer > & GetBlurFrameBuffers(int Index=0) const
const vec3 & GetFocus() const
void SetProjectionDistance(float ProjectionDistance)
void SetView(const vec3 &Position, const vec3 &Focus, const vec3 &UpDirection)
camera_projection_type GetProjectionType() const
float GetProjectionDistance() const
float GetViewportProjectionHeight() const
const shared< frame_buffer > & GetHDRFrameBuffer() const
void SetProjectionType(camera_projection_type ProjectionType)
camera & Resize(int ViewportWidth, int ViewportHeight)
const matr4 & GetViewProjection() const
void SetFieldOfView(float FieldOfView)
void SetDirection(const vec3 &Direction)
float GetFieldOfView() const
camera(camera_projection_type ProjectionType, camera_effects Effects={})
void SetFarClip(float FarClip)
void SetViewportHeight(int ViewportHeight)
float GetViewportProjectionWidth() const
camera & Rotate(const vec3 &Axis, degrees Angle)
const matr4 & GetProjection() const
const matr4 & GetView() const
const shared< frame_buffer > & GetMainFrameBuffer() const
const vec3 & GetPosition() const
int GetViewportHeight() const
const vec3 & GetRightDirection() const
const shared< frame_buffer > & GetGBuffer() const
void SetPosition(const vec3 &Position)
void SetUpDirection(const vec3 &UpDirection)
void SetRenderToSwapChain(bool IsSwapChainTarget)
const vec3 & GetDirection() const
void SetViewportWidth(int ViewportWidth)
void SetFocus(const vec3 &Focus)
std::shared_ptr< T > shared
camera_effects(bool HDR=false, float Exposure=0, bool Bloom=false, int BloomAmount=0)