Foundation
Loading...
Searching...
No Matches
Camera.hpp
Go to the documentation of this file.
1#pragma once
2#include <Math/Math.hpp>
3namespace ModelViewer
4{
5 using namespace Foundation::Math;
6 struct Camera
7 {
9 float3 lookAt{0,0,0};
10 float3 up{0, 0, 1};
11
12 float verticalFov{radians(45.0)}; // In radians
13 float aspectRatio{1};
14 float zNear{1e-3};
15
22 Params GetParams() const;
23
24 float zCull{1e2}; // Max draw distance before culling
26 {
29 float4 frustumACBC; // See @ref GetCullParams
31 float zCull;
32 };
34
35 void OnImGui();
36 };
37}
std::unique_ptr< T, StlDeleter< T > > UniquePtr
std::unique_ptr with custom deleter that uses a Foundation::Core::Allocator to deallocate memory.
Definition Allocator.hpp:161
Mathematical utilities and types.
Definition Math.hpp:21
vec3 float3
Definition Math.hpp:24
vec4 float4
Definition Math.hpp:23
ModelViewer implementation.
Definition App.cpp:17
Definition Camera.hpp:26
mat4 viewProj
Definition Camera.hpp:28
float4 frustumACBC
Definition Camera.hpp:29
mat4 viewMatrix
Definition Camera.hpp:27
float3 cameraPosition
Definition Camera.hpp:30
float zCull
Definition Camera.hpp:31
Definition Camera.hpp:17
float zNear
Definition Camera.hpp:20
mat4 viewProj
Definition Camera.hpp:18
float3 cameraPosition
Definition Camera.hpp:19
Definition Camera.hpp:7
float3 up
Definition Camera.hpp:10
Params GetParams() const
Definition Camera.cpp:7
float3 lookAt
Definition Camera.hpp:9
void OnImGui()
Definition Camera.cpp:45
float zCull
Definition Camera.hpp:24
float zNear
Definition Camera.hpp:14
CullParams GetCullParams() const
Definition Camera.cpp:14
float3 position
Definition Camera.hpp:8
float verticalFov
Definition Camera.hpp:12
float aspectRatio
Definition Camera.hpp:13