LeviLamina
Loading...
Searching...
No Matches
LevelRendererShadowCamera.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/game/LevelRendererCameraListeners.h"
7#include "mc/client/renderer/game/ShadowRenderingParameters.h"
8#include "mc/deps/minecraft_renderer/game/LevelCullerType.h"
9
10// auto generated forward declare list
11// clang-format off
13class Level;
14class LevelRenderer;
15class Player;
16class ScreenContext;
17class Vec3;
18class WeakEntityRef;
19struct IClientInstance;
21struct Options;
23namespace mce::framebuilder { struct ShadowParameters; }
24// clang-format on
25
27public:
28 // LevelRendererShadowCamera inner types define
29 enum class QueueShadowRenders : int {
30 DoNotQueue = 0,
31 ShouldQueue = 1,
32 };
33
34public:
35 // member variables
36 // NOLINTBEGIN
45 // NOLINTEND
46
47public:
48 // prevent constructor by default
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 // vIndex: 21
57 virtual void recalculateRenderDistance(float const renderDistanceScalar) /*override*/;
58
59 // vIndex: 22
60 virtual void preRenderUpdate(
61 ::ScreenContext& screenContext,
62 ::LevelRenderPreRenderUpdateParameters& levelRenderPreRenderUpdateParameters
63 ) /*override*/;
64
65 // vIndex: 16
66 virtual void renderBlockEntities(::BaseActorRenderContext& renderContext, bool renderAlphaLayer) /*override*/;
67
68 // vIndex: 27
69 virtual void queueRenderEntities(
70 ::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters
71 ) /*override*/;
72
73 // vIndex: 30
74 virtual void setupViewArea() /*override*/;
75
76 // vIndex: 17
77 virtual void
78 setViewArea(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters) /*override*/;
79
80 // vIndex: 10
81 virtual void
82 updateViewArea(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters) /*override*/;
83
84 // vIndex: 2
85 virtual void onDimensionChanged(::Player& player) /*override*/;
86
87 // vIndex: 1
88 virtual void addCameraListenerToRenderChunkCoordinator() /*override*/;
89
90 // vIndex: 26
91 virtual void updateLevelCullerType(::LevelCullerType const newLevelCullerType) /*override*/;
92
93 // vIndex: 0
94 virtual ~LevelRendererShadowCamera() /*override*/ = default;
95 // NOLINTEND
96
97public:
98 // member functions
99 // NOLINTBEGIN
101 ::IClientInstance& clientInstance,
102 ::std::shared_ptr<::Options> options,
103 ::Level& level,
104 ::LevelRenderer& levelRenderer,
105 ::WeakEntityRef localUser
106 );
107
108 MCNAPI float _calculateCascades(
109 ::mce::framebuilder::ShadowParameters const& shadowParameters,
110 ::glm::mat4x4 const& playerView,
111 float angle,
112 float perpendicularAngle,
113 float aspect,
114 float fov,
115 float zNear,
116 float zFar,
117 float zRange,
118 ::glm::vec3 const& playerPosition,
119 ::gsl::span<::ShadowRenderingParameters::ShadowMap> resultCascades,
120 ::ShadowCascadeState& shadowCascadeState
121 );
122
124 ::mce::framebuilder::ShadowParameters const& shadowParameters,
125 ::Vec3 const& lightSourceDir
126 );
127
129 ::gsl::span<::ShadowRenderingParameters::ShadowMap> cascades,
130 ::glm::vec3 const& playerPosition,
131 ::ShadowRenderingParameters::ShadowMap const& largestCascade
132 );
133
135
136 MCNAPI void setupCamera(
137 ::glm::vec3 const& direction,
138 float angle,
139 float perpendicularAngle,
140 float fov,
141 float aspectRatio,
142 ::glm::mat4x4 const& playerView,
143 ::glm::mat4x4 const& playerProj,
144 ::glm::vec3 const& playerPosition,
145 ::mce::framebuilder::ShadowParameters const& shadowParameters,
146 ::ShadowCascadeState& shadowCascadeState,
147 ::LevelRendererShadowCamera::QueueShadowRenders shouldQueueShadowRenders
148 );
149
150 MCNAPI void setupCloudCamera(
151 float angle,
152 float perpendicularAngle,
153 ::glm::mat4x4 const& playerView,
154 ::glm::mat4x4 const& playerProj,
155 ::glm::vec3 const& playerPosition,
156 ::mce::framebuilder::ShadowParameters const& shadowParameters,
157 ::ShadowCascadeState& shadowCascadeState
158 );
159 // NOLINTEND
160
161public:
162 // constructor thunks
163 // NOLINTBEGIN
164 MCNAPI void* $ctor(
165 ::IClientInstance& clientInstance,
166 ::std::shared_ptr<::Options> options,
167 ::Level& level,
168 ::LevelRenderer& levelRenderer,
169 ::WeakEntityRef localUser
170 );
171 // NOLINTEND
172
173public:
174 // virtual function thunks
175 // NOLINTBEGIN
176 MCNAPI void $recalculateRenderDistance(float const renderDistanceScalar);
177
178 MCNAPI void $preRenderUpdate(
179 ::ScreenContext& screenContext,
180 ::LevelRenderPreRenderUpdateParameters& levelRenderPreRenderUpdateParameters
181 );
182
183 MCNAPI void $renderBlockEntities(::BaseActorRenderContext& renderContext, bool renderAlphaLayer);
184
185 MCNAPI void
186 $queueRenderEntities(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters);
187
188 MCNAPI void $setupViewArea();
189
190 MCNAPI void $setViewArea(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters);
191
192 MCNAPI void $updateViewArea(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters);
193
194 MCNAPI void $onDimensionChanged(::Player& player);
195
197
198 MCNAPI void $updateLevelCullerType(::LevelCullerType const newLevelCullerType);
199 // NOLINTEND
200
201public:
202 // vftables
203 // NOLINTBEGIN
204 MCNAPI static void** $vftableForLevelListener();
205
206 MCNAPI static void** $vftableForLevelRendererCamera();
207
208 MCNAPI static void** $vftableForPlayerListener();
209 // NOLINTEND
210};
Definition BaseActorRenderContext.h:16
Definition LevelRendererCameraListeners.h:21
Definition LevelRendererShadowCamera.h:26
static MCAPI void ** $vftableForLevelListener()
MCAPI void $queueRenderEntities(::LevelRenderPreRenderUpdateParameters const &levelRenderPreRenderUpdateParameters)
MCAPI LevelRendererShadowCamera(::IClientInstance &clientInstance, ::std::shared_ptr<::Options > options, ::Level &level, ::LevelRenderer &levelRenderer, ::WeakEntityRef localUser)
static MCAPI void ** $vftableForLevelRendererCamera()
MCAPI void setupCloudCamera(float angle, float perpendicularAngle, ::glm::mat4x4 const &playerView, ::glm::mat4x4 const &playerProj, ::glm::vec3 const &playerPosition, ::mce::framebuilder::ShadowParameters const &shadowParameters, ::ShadowCascadeState &shadowCascadeState)
MCAPI void removeCameraListenerToRenderChunkCoordinator()
MCAPI void setupCamera(::glm::vec3 const &direction, float angle, float perpendicularAngle, float fov, float aspectRatio, ::glm::mat4x4 const &playerView, ::glm::mat4x4 const &playerProj, ::glm::vec3 const &playerPosition, ::mce::framebuilder::ShadowParameters const &shadowParameters, ::ShadowCascadeState &shadowCascadeState, ::LevelRendererShadowCamera::QueueShadowRenders shouldQueueShadowRenders)
MCAPI void $addCameraListenerToRenderChunkCoordinator()
MCAPI void $renderBlockEntities(::BaseActorRenderContext &renderContext, bool renderAlphaLayer)
MCAPI void $recalculateRenderDistance(float const renderDistanceScalar)
MCAPI void _calculatePlayerShadowMap(::mce::framebuilder::ShadowParameters const &shadowParameters, ::Vec3 const &lightSourceDir)
MCAPI void $setViewArea(::LevelRenderPreRenderUpdateParameters const &levelRenderPreRenderUpdateParameters)
MCAPI void $updateViewArea(::LevelRenderPreRenderUpdateParameters const &levelRenderPreRenderUpdateParameters)
MCAPI void _createFrustumCuller(::gsl::span<::ShadowRenderingParameters::ShadowMap > cascades, ::glm::vec3 const &playerPosition, ::ShadowRenderingParameters::ShadowMap const &largestCascade)
MCAPI void * $ctor(::IClientInstance &clientInstance, ::std::shared_ptr<::Options > options, ::Level &level, ::LevelRenderer &levelRenderer, ::WeakEntityRef localUser)
MCAPI void $updateLevelCullerType(::LevelCullerType const newLevelCullerType)
MCAPI void $preRenderUpdate(::ScreenContext &screenContext, ::LevelRenderPreRenderUpdateParameters &levelRenderPreRenderUpdateParameters)
static MCAPI void ** $vftableForPlayerListener()
MCAPI void $onDimensionChanged(::Player &player)
MCAPI float _calculateCascades(::mce::framebuilder::ShadowParameters const &shadowParameters, ::glm::mat4x4 const &playerView, float angle, float perpendicularAngle, float aspect, float fov, float zNear, float zFar, float zRange, ::glm::vec3 const &playerPosition, ::gsl::span<::ShadowRenderingParameters::ShadowMap > resultCascades, ::ShadowCascadeState &shadowCascadeState)
Definition LevelRenderer.h:47
Definition Level.h:246
Definition Player.h:118
Definition ScreenContext.h:23
Definition Vec3.h:10
Definition WeakEntityRef.h:13
Definition IClientInstance.h:5
Definition LevelRenderPreRenderUpdateParameters.h:5
Definition Options.h:5
Definition ShadowCascadeState.h:5
Definition ShadowRenderingParameters.h:13
Definition _HeaderOutputPredefine.h:273
Definition ShadowParameters.h:7