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 // prevent constructor by default
32 Camera();
33
34public:
35 // member functions
36 // NOLINTBEGIN
37 MCAPI Camera(::mce::Camera const&);
38
39 MCFOLD ::glm::vec3 const& getForwardVector() const;
40
41 MCFOLD ::Frustum const& getFrustum() const;
42
43 MCAPI ::glm::vec3 const& getPosition() const;
44
45 MCAPI ::glm::mat4x4 getProjectionMatrix() const;
46
47 MCFOLD ::glm::vec3 const& getRightVector() const;
48
49 MCAPI ::glm::vec3 const& getUpVector() const;
50
51 MCAPI ::glm::mat4x4 getViewProjectionMatrix() const;
52
53 MCAPI ::mce::Camera& operator=(::mce::Camera const&);
54
55 MCAPI void updateViewMatrixDependencies();
56
57 MCAPI ~Camera();
58 // NOLINTEND
59
60public:
61 // constructor thunks
62 // NOLINTBEGIN
63 MCAPI void* $ctor(::mce::Camera const&);
64 // NOLINTEND
65
66public:
67 // destructor thunk
68 // NOLINTBEGIN
69 MCAPI void $dtor();
70 // NOLINTEND
71};
72
73} // namespace mce
Definition Camera.h:7