LeviLamina
Loading...
Searching...
No Matches
Camera.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Frustum.h"
7#include "mc/deps/renderer/MatrixStack.h"
8
9namespace mce {
10
11class Camera {
12public:
13 // member variables
14 // NOLINTBEGIN
15 ::ll::TypedStorage<8, 64, ::MatrixStack> viewMatrixStack;
16 ::ll::TypedStorage<8, 64, ::MatrixStack> worldMatrixStack;
17 ::ll::TypedStorage<8, 64, ::MatrixStack> projectionMatrixStack;
18 ::ll::TypedStorage<4, 64, ::glm::mat4x4> mInverseViewMatrix;
19 ::ll::TypedStorage<4, 12, ::glm::vec3> mRight;
20 ::ll::TypedStorage<4, 12, ::glm::vec3> mUp;
21 ::ll::TypedStorage<4, 12, ::glm::vec3> mForward;
22 ::ll::TypedStorage<4, 12, ::glm::vec3> mPosition;
23 ::ll::TypedStorage<4, 4, float> mAspectRatio;
24 ::ll::TypedStorage<4, 4, float> mFov;
25 ::ll::TypedStorage<4, 4, float> mZNear;
26 ::ll::TypedStorage<4, 4, float> mZFar;
27 ::ll::TypedStorage<4, 192, ::Frustum> mFrustum;
28 // NOLINTEND
29
30public:
31 glm::mat4x4 getProjectionMatrix() const { return *projectionMatrixStack->top()._m; }
32
33public:
34 // member functions
35 // NOLINTBEGIN
36 MCAPI void updateViewMatrixDependencies();
37
38 MCAPI ~Camera();
39 // NOLINTEND
40
41public:
42 // destructor thunk
43 // NOLINTBEGIN
44 MCAPI void $dtor();
45 // NOLINTEND
46};
47
48} // namespace mce
Definition Camera.h:7